2

Node.jsからRails3サーバーにPUTまたはPOSTリクエストを送信しようとしています。本体にパラメーターを渡していますが、Railsコントローラーでパラメーターハッシュに変換されていません。私のコードは次のとおりです。

http = require('http');
request = require('request');
qs = require('qs');

data = qs.stringify({name: 'Aaron', points: 10});
request_opts = {
  uri: 'http://localhost:3000/users/update',
  method: 'PUT',
  body: data
}

request(request_opts, function() { console.log(arguments) });

Railsコントローラーにデバッガーを配置しました。paramsはnilですがresponse.body.read、にある文字列を返しますdata

パラメータがRailsと互換性があるNode.jsからPUT/POSTリクエストを作成するにはどうすればよいですか?

4

1 に答える 1

1

モジュールは、querystringデータをパラメーターエンコード形式としてシリアル化します。デフォルトでは、railsはJSONシリアル化されたエンティティを想定しています。ユーザーをリクエスト本文にシリアル化するJSON.stringify代わりにを使用する必要があります。qs.stringifyまたは、のcontent-typeヘッダーを明示的に指定して、application/x-www-form-urlencoded送信する本文のタイプをレールに通知することもできます。

于 2012-08-17T20:19:57.770 に答える