表达bodyParser失败了我的json

时间:2016-03-25 00:23:48

标签: json node.js express body-parser

我将带有axios的POST请求发送到我的nodejs服务器

axios.post(config.SERVER_URL + 'getData', 
{
    id: '1234'
})
.then(function (response) {
    console.log(response.data);
})
.catch(function (response) {
    console.log(response);
});

数据

  

{" ID":" 1234"}

Chrome网络 enter image description here

bodyParser失败我的对象,所以我像这样收到它

{ '"id":"1234"}': '' }

NodeJS代码

app.post('/getData', function(req, res) {
    res.writeHead(200, { "Content-Type": "application/json" });

    console.log(req.body);
    res.end(JSON.stringify({ data: 'hello'}));
});

控制台 enter image description here

尝试重新安装bodyParser并表达,没有帮助。 我像这样使用它

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

不知道为什么会这样。

1 个答案:

答案 0 :(得分:2)

您似乎在请求中发送了form-urlencoded个数据。尝试设置标题,告诉您发送application/json

  axios({
     method: 'post',
     url: config.SERVER_URL + 'getData',
     data: { id: '1234' },
     headers: {
       'Content-Type': 'application/json'
    }
});