Express继续获取request.body作为未定义的JSON对象

Two*_*rts 3 javascript json node.js express

我正在制作一个如下所示的Ajax请求:

 $.ajax({
        url: '/gen',
        type: 'POST',
        data: JSON.stringify({'one': 1, 'two':2}),
        success: function(data) {console.log(this)}
    });
Run Code Online (Sandbox Code Playgroud)

我的快递部分看起来像这样:

 var express = require('express');
 var app = express();
 var router = express.Router(); 

 app.set('port', (process.env.PORT || 5000));

 router.post('/gen', function(req, res) {
     console.log(req.body);
 });
Run Code Online (Sandbox Code Playgroud)

这总是undefined在控制台中输出.

如何更改此权限以使req.body或req的任何部分包含我尝试发送到代码的快速部分的信息.

rsp*_*rsp 7

您需要使用正文解析器.

var bodyParser = require('body-parser')

app.use(bodyParser.json());
Run Code Online (Sandbox Code Playgroud)

看到:

您可能还需要添加:

contentType: 'application/json',
Run Code Online (Sandbox Code Playgroud)

在你的.ajax()选择中.