2017-06-03 14 views
1
var payload = { 
    type: 'PAYLOAD' 
    }; 
app.get('/location', function(req, res) { 
    res.sendFile(__dirname + '/public/pages/locations.html',payload); 
}); 

こんにちは、私はexpressjs、javascriptとノードに新しいです、私はapp.getを介してデータを渡すことができません、私はできるようにしたいと思いますペイロードのタイプをGETパラメータ(see/locations?type = type_of_location)として、または少なくともlocations.htmlページのjavascriptからアクセスできるようにする必要があります。あなたの助けexpressjsでパラメータを渡す

答えて

0

を事前に

おかげであなたは/locations?type=type_of_locationを要求している場合req.queryオブジェクトが必要なデータを持っているので、あなたはreq.query.typeとそのtypeデータにアクセスすることができます。

UPDATE:

FIRSTサーバー上で次の操作を行います。をところで、クライアントに/locations?type=type_of_locationを送信するための唯一の方法は彼をリダイレクトしてファイルを送信することです。

app.get('/location', function(req, res) { 
    if(!req.query.type) 
     res.redirect('/location?type=' + payload); 
    else 
     res.sendFile(__dirname + '/public/pages/locations.html',payload); 
}); 

あなたは、反対のことを行うクライアントに/locations?type=type_of_locationを送信し、type=type_of_locationの値を抽出したい場合、あなたはJavaScriptで?type=type_of_locationを返しwindow.location.searchを使用していることを行うことができます。

はTHEN javascriptをクライアント上で次の操作を行います。はその後のような正規表現とその結果を処理する必要があります。

let query = window.location.search; 
let typeValue = /type=(.*)/.exec(query)[1]; // Extract the value 
+0

実際に私が持っているしたいことはそれほど/場所を送信するために、反対側にあるタイプ? = type_of_locationを応答 – Staticshot

+0

私は間違った方法で自分自身を説明したに違いないはずです。 app.getが呼び出されたとき、クライアントに返信する方法を知りたいと思っています:/ locations?type = type_of_location、クライアントのjavascriptから型パラメータにアクセスする方法を知りたい場合 – Staticshot

+0

はい、 expressjs部分のコード。ユーザーは同じ要求にリダイレクトされますが、これらのパラメーターが追加されます。更新された回答を確認してください。次に、javascriptクライアントのコードを使用して、正規表現で 'type'の内容を抽出します。 –

関連する問題