Node.js req.body是空白的

我已经尝试了Node上的线程“req is not defined” , 当通过http.request和类似方法发出post请求时 , req.body是空的 ,但问题仍然存在。

服务器端代码:

var express = require('express'); var bodyParser = require('body-parser'); var validator = require('validator'); var app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); next(); }); app.post('/sampleurl', function (req, res) { var reqbody = req.body; console.log(reqbody); }); app.listen(process.env.PORT); console.log("listening"); 

我发的(使用hurl.it):

发布请求 响应

我从服务器(console.log)取回的内容:

 listening {} 

  • 高效地在节点中逐行读取文件
  • Sails.js。 如何指望在线用户?
  • 使用angular度js进行路由
  • Node.js EPIPE错误
  • JavaScript代码不按照想要的顺序运行(Node.js,MongoDB)
  • 通过expression式js中的路由调用函数对象
  • 连接node.js与Java应用程序,并希望得到输出在HTML中
  • node.js服务器泄漏TCP连接?
  • 我只是试过你的代码..这是完全没问题..

    你缺less的是在请求中添加头文件。

    Content-Type头添加为application/json 在这里输入图像描述

    为了扩展另一个正确的答案,body-parser在尝试parsingHTTP正文之前检查Content-Type

    如果你想改变这种行为,你可以让body-parser试图parsing任何input到json中,而不pipeContent-Type

     app.use(bodyParser.json({ type: '*' })); 

    通配符*会告诉它尝试parsing任何types: https : //github.com/expressjs/body-parser#bodyparserjsonoptions