2016-07-19 9 views
0

私は問題に直面しています。URLクエリパラメータ

私はnodeとexpressを使用しています。 Index.htmlには2つの入力があります。 profile.js

<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> 

私が得た:

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

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

res.render('result'); 
} 

ノードがresult.htmlをレンダリングしますが、私が手URLは質問ではなく、URLのhttps://localhost:3030/profile/xxx/yyy を取得する方法である

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

です上記?

答えて

1

として、あなたのルートを定義します。今すぐreq.paramsを使用してそれらにアクセス/profile/:var1/:var2

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

UPDATED ANSWER:

けれども、それは、あなた少し汚れている可能性がありますフォームが提出されたURLを変更できない場合は、これを代替として試すことができます(フォーム送信時に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'); 
}); 
+0

私は自分でそれを処理することができないので、私は質問を編集しました:( – BaSic

+0

@BaSicそれが役に立ったら私の更新された答えをチェックしてください。 –

+0

まだ何もありません。これはおそらくhttps:// localhost:3030/profileですか?variable1 = xxx&variable2 = yyy – BaSic

関連する問題