使用Express 4在Node.js中解析JSON post请求

Jac*_*lyk 18 json xmlhttprequest node.js express

我正在尝试编写一个简单的Express应用程序,它在Post请求中接收JSON.这是我到目前为止在服务器上的内容:

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

var app = express();
app.use(bodyParser.json());

app.post('/acceptContacts', function(req, res) {
    'use strict';
    console.log(req.body);
    console.log(req.body.hello);
    res.send(200);
});

app.listen(8080);
Run Code Online (Sandbox Code Playgroud)

这是我在浏览器中的客户端上的内容:

var req = new XMLHttpRequest();
req.open('POST', 'http://localhost:8080/acceptContacts?Content-Type=application/json');
var obj = {hello:'world'};
req.send(JSON.stringify(obj))
Run Code Online (Sandbox Code Playgroud)

但是,我在服务器的控制台上收到以下输出:

{}
undefined
Run Code Online (Sandbox Code Playgroud)

谁能提出原因?

Mik*_*Dev 20

如果你使用它将会工作setRequestHeader:

var req = new XMLHttpRequest();
req.open('POST', 'http://localhost:8080/acceptContacts');
req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
var obj = {hello:'world'};
req.send(JSON.stringify(obj));
Run Code Online (Sandbox Code Playgroud)