我的所有项目都突然发生了这种情况.
每当我使用express和body-parser在nodejs中发帖时req.body都是一个空对象.
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded())
// parse application/json
app.use(bodyParser.json())
app.listen(2000);
app.post("/", function (req, res) {
console.log(req.body) // populated!
res.send(200, req.body);
});
Run Code Online (Sandbox Code Playgroud)
通过ajax和postman它总是空的.
但是通过卷曲
$ curl -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:2000/
Run Code Online (Sandbox Code Playgroud)
它按预期工作.
我尝试手动设置Content-type : application/json前者,但我总是得到400 bad request
这让我发疯了.
我认为这是在身体解析器中更新的东西,但我降级了,但没有帮助.
任何帮助表示感谢,谢谢.
我今晚正在使用Node.JS和Restify开发一个简单的API,并且在通过接收参数方面做得很好req.params.fieldname.我安装了CouchDB和Cradle以便开始尝试将这些参数放入数据库中,但是在安装完所有内容后,req.params开始变空了!
我应该一直使用Express开始出于其他原因,所以我尝试切换到那个,看看我是否可以让它工作,但没有这样的运气.
var express = require('express');
var app = express.createServer();
app.configure(function(){
app.use(express.bodyParser());
app.use(express.cookieParser());
});
app.post('/', function(req, res){
res.send(req.body);
});
app.listen(8080, function() {
console.log('Printomatic listening at', app.url);
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试了无数的变化,但无论什么需求,人体都会空着.我正在使用http-console进行测试,并发送POST /与内容一样简单的内容{"name":"foobar"}
我很沮丧,此时我开始怀疑在安装Cradle/CouchDB(分别安装了NPM和Homebrew)时是否破坏了某些东西.任何帮助将不胜感激,因为这有点时间敏感.在此先感谢您的帮助!