从客户端获取值到服务器端(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中可能有特殊含义)将被正确编码。