2016-08-16 18 views
1

私はまだnode.jsの概念を理解しようとしていますので、これがばかな質問であれば責めないでください。クライアント側からサーバー側に値を取得する(node.js + express.js)

node.jsでは、は、index.jadeからindex.jsに値を取得することは可能です?例えば

index.jade

a(href="/bla" name="someName") Blabla 

index.js

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

//get value of name ("someName") or string ("Blabla") 

console.log(req.body.name) ?? 

}); 

これが不可能な場合、私は理由を知りたいのですが...

ありがとう。

答えて

2

いいえ、それはあなたのHTML内name属性がサーバーに渡されないという単純な理由(任意のサーバー、必ずしもノードベースのサーバー)のために、ことはできません。

あなたはGETリクエストに値を渡したい場合は、一般的にURLの一部としてそれを渡す:サーバーで

<a href="/bla?name=someName">Blabla</a> 

a(href="/bla?name=someName") Blabla 

これは、次のHTMLを生成します。コードの場合は、req.query.nameを使用して値にアクセスできます。

さらに一歩これを撮影:あなたは「名前」と呼ばれるテンプレートが利用可能な変数を持っている場合は、同様のものを使用することができますが、もう少しダイナミック:

a(href="/bla?name=" + encodeURIComponent(name)) Blabla 

encodeURIComponentは必ず何らかの「特別なことになり"(URLで特別な意味を持つかもしれない)文字は正しくエンコードされます。

+0

完璧な説明、ありがとう! – bobby

関連する問題