0

我对此发疯了,我在 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.

我究竟做错了什么?

4

1 回答 1

1

您的 curl 请求不正确,需要添加“Content-Type”:

curl -X POST -H "Content-Type: application/json" \
     -d '{"title":"test-title"}' http://localhost:8090/json-test
于 2015-08-26T09:52:32.443 回答