从客户端获取值到服务器端(node.js + express.js)
我仍然试图理解node.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) ?? });
如果这是不可能的,我想知道为什么…
谢谢。
不,这是不可能的,原因很简单,HTML中的name
属性不会传递给服务器( 任何服务器,不一定是基于节点的服务器)。
如果您想在GET
请求中传递值,通常会将其作为URL的一部分传递给它:
a(href="/bla?name=someName") Blabla
这将生成以下HTML:
<a href="/bla?name=someName">Blabla</a>
在您的服务器代码中,您可以使用req.query.name
访问该值。
更进一步:如果你的模板有一个名为“name”的variables,你可以使用类似的东西,但是更加dynamic:
a(href="/bla?name=" + encodeURIComponent(name)) Blabla
encodeURIComponent
确保任何“特殊”字符(在URL中可能有特殊含义)将被正确编码。