[英]URL Query Parameters
我面臨一個問題。
我正在使用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');
}
節點渲染result.html
,但是我得到的URL是
https://localhost:3030/profile?variable1=xxx&variable2=yyy
問題是如何獲取
https://localhost:3030/profile/xxx/yyy
而不是上面的URL?
將您的路線定義為: /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');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.