为了账号安全,请及时绑定邮箱和手机立即绑定

req.body在帖子上空了

req.body在帖子上空了

侃侃尔雅 2019-08-16 14:47:10
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-parserv1.12.2和expressv4.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


查看完整回答
反对 回复 2019-08-16
?
慕运维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' }


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 752 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信