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

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

这是我的快递应用程序的配置

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'}"});

有人会遇到这样的问题吗?

4

3 回答 3

3

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

我相信你应该在你的 json 请求中更改 " (双引号)中的 ' (单引号),因为单引号将被解释为文字。json 希望该请求被表述为 {"user":"guow"}。

只是我的两分钱。

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

JSON响应中的jQuery单引号

于 2015-08-26T09:28:18.357 回答
2

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

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

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

应该没事。

于 2015-08-26T09:41:01.033 回答
-1
$.ajax({ type: "POST",
         url: "/login",
         cache: false,
         dataType: 'json',
         data:{"user":"guow"}
      });
于 2015-08-26T09:37:58.837 回答