io.socket.request()Socket.IO を使用して Sails サーバーに仮想リクエストを送信します。
この関数は、io.socket.get()、io.socket.post()などと非常によく似ていますが、リクエストのヘッダー、パラメーター、メソッド、URLへのより低レベルなアクセスを提供します。
自動的に作成されたio.socketインスタンスを使用します
io.socket.request(options, function (resData, jwres)){
// ...
// jwres.headers
// jwres.statusCode
// jwres.body === resData
// ...
});
| オプション | タイプ | 詳細 |
|---|---|---|
| method | HTTPリクエストメソッド。例えば'GET'。 |
|
| url | 宛先URLパス。例えば "/checkout"。 | |
| data | オプション。指定した場合、このリクエストデータはJSONエンコードされ、仮想HTTPボディとして含まれます。 | |
| headers | オプション。指定した場合、この文字列ヘッダーのディクショナリーは、仮想リクエストヘッダーとして送信されます。 |
| 引数 | タイプ | 詳細 | |
|---|---|---|---|
| 1 | resData |
Sailsサーバーからのレスポンスで受信したデータ (=== jwres.bodyであり、HTTPレスポンスボディと同等です)。 |
|
| 2 | jwres |
JSON WebSocketレスポンスオブジェクト。headers、body、およびstatusCodeを持ちます。 |
io.socket.request({
method: 'get',
url: '/user/3/friends',
data: {
limit: 15
},
headers: {
'x-csrf-token': 'ji4brixbiub3'
}
}, function (resData, jwres) {
if (jwres.error) {
console.log(jwres.statusCode); // => e.g. 403
return;
}
console.log(jwres.statusCode); // => e.g. 200
});
- 分かりやすい例えとして、
io.socket.getとこのメソッドの違いは、JQueryの$.getと$.ajaxの違いと考えてください。- ソケットリクエストを使用して、任意のルートと通信できることを覚えておいてください。
- すべての送信リクエストにカスタムヘッダーを設定する必要がありますか?
io.sails.headersを確認してください。