javascript - URL查询参数

标签 javascript node.js url express

我遇到了一个问题。

我正在使用 Node 和 express 。 Index.html 包含 2 个输入。

<form action="/profile" method="get">
    <input id="variable1" name="variable1"  type="text" placeholder="..."> //xxx
    Select : 
<select id="variable2" name="variable2">
    <optgroup label="y">
        <option value="variable">yyy</option>
    </select>

profile.js中我得到:

router.get('/profile', function(req, res){

var var1 = req.params.variable1;
var var2 = req.params.variable2;

res.render('result');
}

Node 渲染result.html,但我得到的URL是

https://localhost:3030/profile?variable1=xxx&variable2=yyy

The question is how to get https://localhost:3030/profile/xxx/yyy instead of the URL above?

最佳答案

将您的路线定义为:/profile/:var1/:var2

现在使用 req.params 访问它们:

var var1 = req.params.var1;
var var2 = req.params.var2;

更新答案:

虽然,它可能有点脏,但如果您无法更改提交表单的网址,您可以尝试此作为替代方案(尽管您可以在表单提交时使用 javascript 轻松做到这一点):

router.get('/profile', function(req, res){

var var1 = req.query.variable1;
var var2 = req.query.variable2;
res.redirect('/profile/'+var1+'/'+var2);
}

router.get('/profile/:var1/:var2', function( req, res ){
var var1 = req.params.variable1;
var var2 = req.params.variable2;
res.render('result');
});

关于javascript - URL查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38457471/

相关文章:

javascript - 获取类设置为col-md-7但未设置宽度的div的宽度

javascript - 在 Windows 上安装 GameClosure

javascript - 无法使用 mapStateToProps 访问存储

javascript - 无法将 jquery 元素附加到新包装的元素

node.js - 如何将 ReactJS 与 expressJS 集成

jQuery 检查当前 url

image - 当我将 URL 从网站粘贴到 Facebook 或 slack 等时,如何显示图像

python - Django - 在设置中使用反向 url 映射

javascript - 使用下划线查找并替换对象属性值

node.js - 带有 Mongoose 的快速验证器