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 の結果は{}で、2 番目の結果は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 に答える