这是我的简单表格:
<form id="loginformA" action="userlogin" method="post">
<div>
<label for="email">Email: </label>
<input type="text" id="email" name="email"></input>
</div>
<input type="submit" value="Submit"></input>
</form>
这是我的 Express.js /Node.js 代码:
app.post('/userlogin', function(sReq, sRes){
var email = sReq.query.email.;
}
我尝试 sReq.query.email
或 sReq.query['email']
或 sReq.params['email']
等。它们都不起作用。他们都返回 undefined
。
当我更改为 Get 调用时,它可以工作,所以..有什么想法吗?
原文由 murvinlai 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 Express 4.16.0 开始,情况再次发生了 变化,您现在可以像在 Express 3.0 中一样使用
express.json()
和express.urlencoded()
。从 Express 4.0 到 4.15 这是 不同 的:
接着:
其余的就像在 Express 3.0 中一样:
首先你需要添加一些中间件来解析body的post数据。
添加以下一行或两行代码:
然后,在您的处理程序中,使用
req.body
对象:请注意,不建议使用
express.bodyParser()
。…相当于:
express.multipart()
存在安全问题,因此最好显式添加对您需要的特定编码类型的支持。如果您确实需要多部分编码(例如支持上传文件),那么您应该 阅读此.