0

我正在使用 express 4.0+,这是我的代码

var express = require('express');
app = express();
var bodyParser = require('body-parser');

app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json());

app.listen(SERVER_LISTEN_PORT_TWO);

app.use(function (req, res, next) {
  console.log(req.body);
});

在前端,我发送:

JSON.stringify({"test":"message"});

后端打印的req.body数据为:

{
  {"test":"message"} : ''
}

我事先只使用了 nodejs 的 createServer 函数,请求数据将作为

{"test":"message"}

我的问题是,express 是否会自动对传入的数据进行 json 编码/字符串化(看起来像这样),我将如何禁用它?我知道我不能对从前端发送的数据进行编码,但我不确定为什么要更改它。

4

1 回答 1

0

你没有Content-Type在你的请求中发送正确的。如果您要发送 JSON 有效负载,则Content-Type需要是application/json而不是application/x-www-form-urlencoded.

于 2014-11-06T05:28:46.870 回答