Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript app.use(restify.bodyParser())不作为req对象工作是空的_Javascript_Node.js_Restify_Body Parser - Fatal编程技术网

Javascript app.use(restify.bodyParser())不作为req对象工作是空的

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

我正在使用restify,对于HTTP POST调用,请求对象总是空的。有人能告诉我可能的原因吗

关于

您收到无效的JSON:意外的标记u,因为您正试图将未定义的解析为JSON。要停止未定义请求正文,请执行以下操作:

检查您的代码是否如下所示:

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}