簡體   English   中英

URL查詢參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM