req.body在帖子上空了我的所有项目都突然发生了这种情况。每当我使用express和body-parser在nodejs中发表帖子时req.body都是一个空对象。var express = require('express')var bodyParser = require('body-parser')var app = express()// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded())// parse application/jsonapp.use(bodyParser.json())app.listen(2000);app.post("/", function (req, res) {
console.log(req.body) // populated!
res.send(200, req.body);});通过ajax和postman它总是空的。但是通过卷曲$ curl -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:2000/它按预期工作。我尝试手动设置Content-type : application/json前者,但我总是得到400 bad request这让我发疯了。我认为这是在身体解析器中更新的东西,但我降级了,但没有帮助。任何帮助表示感谢,谢谢。
3 回答
波斯汪
TA贡献1811条经验 获得超4个赞
使用Postman,要使用原始JSON数据有效负载测试HTTP post操作,请选择该raw
选项并设置以下标头参数:
Content-Type: application/json
另外,请务必用双引号将JSON有效内容中用作键/值的任何字符串包装起来。
该body-parser
包将解析多行原始JSON有效负载。
{ "foo": "bar"}
使用Postman v0.8.4.13扩展(body-parser
v1.12.2和express
v4.12.3)在Chrome v37和v41中进行了测试,其设置如下:
var express = require('express');var app = express();var bodyParser = require('body-parser');// configure the app to use bodyParser()app.use(bodyParser.urlencoded({ extended: true}));app.use(bodyParser.json());// ... Your routes and methods here
慕运维8079593
TA贡献1876条经验 获得超5个赞
我犯了一个非常愚蠢的错误,忘了name
在我的html文件中定义输入的属性。
而不是
<input type="password" class="form-control" id="password">
我有这个。
<input type="password" class="form-control" id="password" name="password">
现在request.body
填充如下:{ password: 'hhiiii' }
- 3 回答
- 0 关注
- 752 浏览
添加回答
举报
0/150
提交
取消