从客户端到服务器端获取值(node.js + express.js)

时间:2016-08-16 18:40:20

标签: node.js express

我仍在尝试理解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) ??

});

如果无法做到这一点,我想知道原因......

感谢。

1 个答案:

答案 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中可能具有特殊含义)都将被正确编码。