我仍在尝试理解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) ??
});
如果无法做到这一点,我想知道原因......
感谢。
答案 0 :(得分:2)
不,这是不可能的,原因很简单,HTML中的name
属性没有传递给服务器(任何服务器,不一定是基于节点的服务器)。
如果您想在GET
请求中传递值,通常会将其作为网址的一部分传递:
a(href="/bla?name=someName") Blabla
这将生成以下HTML:
<a href="/bla?name=someName">Blabla</a>
在您的服务器代码中,您可以使用req.query.name
访问该值。
更进一步:如果你的模板中有一个名为“name”的变量,你可以使用类似的东西,但更有活力:
a(href="/bla?name=" + encodeURIComponent(name)) Blabla
encodeURIComponent
确保任何“特殊”字符(在URL中可能具有特殊含义)都将被正确编码。