2

次のコードがあります。

var express = require('express');
var app = express.createServer();
var request = require('request');

app.use(myMiddleware);
app.listen(5010);

var payload = { id: 1 };

request({
  method: 'POST',
  body:JSON.stringify(payload),
  url: 'http://localhost:5000'
}, function(err, res, body) {
  console.info("Request Done");
})

私のミドルウェア コードでは、本文を解析してリクエスト ID を抽出したいのですが、何らかの理由で次のコードが機能しません (ペイロードは未定義です)。

  var myMiddleware= function (req, res, next){
  var payload = req.body;
  if (payload.id === 1) console.info("first request!!!!!");
  next();
} 

「ペイロード」を印刷しようとすると、得られるのは[object Object].

ID を抽出する方法と、ペイロード オブジェクトの属性を出力する方法を教えてください。

ありがとう、リー

4

1 に答える 1

3

以下を追加して解決:

app.use(express.bodyParser());

リクエストコードに以下を追加します。

json: true

json=true 属性を追加した後、リクエストの本文から JSON.stringify(...) も削除しました(jsonオブジェクトが必要なため、本文を文字列化する必要はありません)

ありがとう。

于 2012-11-07T10:40:37.903 に答える