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
を確認してください。