Javascript app.use(restify.bodyParser())不作为req对象工作是空的
我正在使用restify,对于HTTP POST调用,请求对象总是空的。有人能告诉我可能的原因吗 关于您收到无效的JSON:意外的标记u,因为您正试图将未定义的解析为JSON。要停止未定义请求正文,请执行以下操作: 检查您的代码是否如下所示:Javascript app.use(restify.bodyParser())不作为req对象工作是空的,javascript,node.js,restify,body-parser,Javascript,Node.js,Restify,Body Parser,我正在使用restify,对于HTTP POST调用,请求对象总是空的。有人能告诉我可能的原因吗 关于您收到无效的JSON:意外的标记u,因为您正试图将未定义的解析为JSON。要停止未定义请求正文,请执行以下操作: 检查您的代码是否如下所示: var restify = require('restify'); var server = restify.createServer(); // This line MUST appear before any route declaration se
var restify = require('restify');
var server = restify.createServer();
// This line MUST appear before any route declaration
server.use(restify.bodyParser());
server.post('/customer/:id', function (req, resp, next) {
console.log("The request body is " + req.body);
response.send("post received. Thanks!");
return next();
});
检查您的内容类型是否有效。例如
curl -H 'Content-Type: application/json' -X POST ...
可能是错误的内容类型。常见的错误是在需要application/json时发送“application/x-www-form-urlencoded”。“用户代理:Fiddler主机:localhost:3001内容类型:application/json内容长度:38”。这是Fiddler,但相同的错误是:app.userestify.bodyParser{mapParams:false};。没有这个配置,所有内容都被解码成req.paramsUser-Agent:Fiddler-Host:localhost:3001内容类型:application/json内容长度:43,请求主体是{userName:dhuper,password:dhuper},现在得到的错误是{code:InvalidContent,message:Invalid json:Unexpected token u}这不是正确的json。它是有效的javascript,而不是JSON。应该是:{用户名:dhuper,密码:dhuper}