0

私はNode.jsの完全な初心者であり、理解できないことを相談したいと思いました。

広範囲にわたって調査しましたが、プラグインを使用せずにJSONリクエストを受信する方法を見つけることができませんでした。これを使用して、モバイルアプリケーションAPIをプログラムします。ただし、パラメータリクエストを含めても、 request.bodyまたはrequest.dataを使用してコンテンツにアクセスすることはできません。私がしようとしている要求は次のとおりです。

{
    "id":"123"
}

そして、私の失敗したコードは次のとおりです。

var http = require('http');

function onRequest(request, response){
    console.log("Request: "+request.data+"\n");
    response.writeHead(200, {"Content-Type":"text/plain"});
    response.write("Hello, World");
    response.end();
}

http.createServer(onRequest).listen(8888);
4

1 に答える 1

1

ここでの問題は、データがあることを通知するrequestイベントをリッスンしてから、データを解析していないことです。あなたはそれが持っていると仮定してrequestrequest.dataます。

そのはず:

var http = require('http');

function onRequest(request, response){
  var data = '';
  request.setEncoding('utf8');

  // Request received data.
  request.on('data', function(chunk) {
    data += chunk;
  });

  // The end of the request was reached. Handle the data now.
  request.on('end', function() {
    console.log("Request: "+data+"\n");
    response.writeHead(200, {"Content-Type":"text/plain"});
    response.write("Hello, World");
    response.end();
  });
}

http.createServer(onRequest).listen(8888);

を含むメソッドのドキュメントについては、これを参照しrequestてください。

于 2012-09-30T23:11:44.937 に答える