Pot.js と PotLite.js で利用可能。
HTTP リクエストを実行します。
XMLHttpRequest によるリクエストを実行します。
XMLHttpRequest のない環境 (Node.js など) では
http/https request によるリクエストを実行します。
返り値などは同じに扱えます (responseText で取得できるなど)。
Greasemonkey (userscript) も、同じオプション指定、返り値で扱えます。
返り値に XMLHttpRequest レスポンスを設定した
Pot.Deferred のインスタンスが返ります。
レスポンス取得の例:
Pot.request(url).then(function(res) {
// 成功時
return res.responseText; // or res.responseXML etc.
}).rescue(function(err) {
// 失敗時
alert('Error: ' + err);
});
他のレスポンス結果のプロパティ詳細は、XMLHttpRequest - W3C などを参照ください。
引数 url には、HTTP リクエストを実行する URL を指定します。
引数 options は、任意に以下のオプションを設定できます。
options で使用できるキー(すべて任意):
'GET', 'POST', 'HEAD' etc.
{data: 'hoge', data2: 'fuga'}
{q: 'JavaScript', hl: 'ja'}
'hoge'
'hogepass'
{'Content-Type': 'text/javascript'}
'text/javascript'
responseBytes : {Array} 結果のバイト列の配列。
responseText : {String} 結果のバイナリ文字列 (responseBytes を文字列にしたもの)。
originalText : {String} オリジナルの responseText。
Pot.globalize() が適応されている場合、Pot.request() が request() で実行できます。
レスポンス結果を持った Pot.Deferred インスタンスが返ります。
Pot.request('./data.php', {
method : 'POST',
sendContent : {
query : 'Book OR Media', // 文字列は Pot.urlEncode() でエンコードされる
start : 0,
length : 15,
format : 'json'
},
mimeType : 'application/json',
headers : {
'User-Agent' : 'Pot.js',
'Content-Type' : 'application/json'
}
}).then(function(res) {
// 成功時
Pot.debug(res.responseText);
}, function(err) {
// 失敗時
Pot.debug('Error! ' + err);
});