我正在制作一个如下所示的Ajax请求:
$.ajax({
url: '/gen',
type: 'POST',
data: JSON.stringify({'one': 1, 'two':2}),
success: function(data) {console.log(this)}
});
我的快递部分看起来像这样:
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);
});
这总是在控制台中输出undefined
。
如何更改此权限以使req.body或req的任何部分包含我尝试发送到代码的快速部分的信息。
答案 0 :(得分:7)
您需要使用身体解析器。
var bodyParser = require('body-parser')
app.use(bodyParser.json());
见:
您可能还需要添加:
contentType: 'application/json',
在您的.ajax()
选项中。
答案 1 :(得分:0)
要使用req.body
,您必须使用bodyParser
中间件,请按以下方式导入:
var app = express();
var bodyParser = require("body-parser");
app.use(bodyParser.json());
router.post('/gen', function(req, res) {
console.log(req.body);
});