我对此发疯了,我在 Stackoverflow 和一般网络上花了几个小时,尝试了这个和另一个,但仍然无法得到结果。
我是 node.js 上的(非常)新手,但已成功按照教程使用 构建(非常)简单的表单bodyParser.urlencoded
,并且我可以成功恢复并显示发布的数据。现在我想使用bodyParser.json()
- 但无论我尝试什么,结果总是空的。
这是代码:
var express = require('express');
var session = require('cookie-session');
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
var jsonParser = bodyParser.json();
var app = express();
// JSON testing
app.post('/json-test', jsonParser, function(req, res) {
if (!req.body) return res.sendStatus(400);
console.log(JSON.stringify(req.body));
console.log(req.body.title);
res.status(200).send(req.body.title);
})
// Can't get anything else
.use(function(req, res, next){
res.setHeader('Content-Type', 'text/plain');
res.status(404).send('Page introuvable !');
})
.listen(8090);
这是卷曲请求
$curl -X POST -H "application/json" -d '{"title":"test-title"}' http://localhost:8090/json-test
第一个 console.log 的结果是{}
,第二个只是undefined
.
我究竟做错了什么?