1

node.js で記述される POST メソッドのリクエストボディの JSON データをサーバーに送信したい。次のようなコードを試しました。

var http = require('http');
http.createServer(function (req, res) {
    console.log(req.body)
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

curl as; でテストしました。

curl -i -v -X POST -d '{"a":5}' http://127.0.0.1:1337 -H "content-type:application/json"

しかし、それは体が未定義であると言います。

リクエストから JSON データを取得する方法はありますか?

感謝!

4

1 に答える 1

3

Node.js は、最初からかなり低レベルです。リクエスト本文を自分でキャプチャするか、connectなどを使用する必要があります。

自作:

var http = require('http');
http.createServer(function (req, res) {
    var body = '';
    req.on('data', function(data) {
        body += data;
    });
    req.on('end', function() {
        console.log(body);
    });
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

接続:

var connect = require('connect');
connect()
    .use(connect.bodyParser())
    .use(function(req, res) {
        console.log(req.body);
    })
   .listen(3000);
于 2012-08-09T10:36:26.843 に答える