json 请求正文解析

json request body parse

"name": "body-parser", "version": "1.13.3",

我的json请求正文是{user:'guow'},但是表达request.body是{ '{user:\'guow\'}': '' }

这是我的 Express 应用的配置

var bodyParser = require('body-parser'); //
var multer = require('multer');
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: false })); // for parsing application/x-www-form-urlencoded //
app.use(multer());

我正在使用 jquery 发送请求,我的代码是

$.ajax({ type: “POST”, url: “/login”, cache: false, dataType: 'json', data:“{user:'guow'}"});

请问有人遇到过这样的问题吗?

我不是node.js方面的专家,但我在其他方面也遇到过类似的问题。

我认为您应该在 json 请求中将 '(单引号)改为 "(双引号),因为单引号将被解释为文字。json 希望说明该请求比如{"user":"guow"}.

只是我的两分钱。

此外,这个问题的公认答案很重要:

jQuery single quote in JSON response

$.ajax({ type: "POST",
         url: "/login",
         cache: false,
         dataType: 'json',
         data:{"user":"guow"}
      });

在您的代码中的某个地方,整个主体 {user:'guow'} 被设置为对象的字符串键。注意原始对象周围的单引号 { '{user:\'guow\'}': '' }

您需要检查您的对象是如何传递给发送函数的。像

res.send({user:'guow'});

应该没问题。