Pot.js と PotLite.js で利用可能。
JSONP による通信でデータを取得します。
JSONP により、データを取得します。
この関数は、Node.js などのサーバでの実行は考慮されていません。
返り値に JSONP の引数を持った Pot.Deferred のインスタンスが返ります。
引数 url には、対象の URL を指定します。
url には、callback=? 形式のパラメータが指定できます。
var url = 'http://www.example.com/jsonp?callback=?';
上の例のように指定すると、一時的に 実行する関数と共にユニークな関数名を生成し実行します。
この方法がもっとも簡単です。
引数 options は、任意に以下のオプションを設定できます。
options で使用できるキー(すべて任意):
{name: 'hoge', id: 'fuga'}
Pot.globalize() が適応されている場合、Pot.jsonp() が jsonp() で実行できます。
Pot.Deferred インスタンスが返ります。
// jQuery.getJSON と同じ URL コールバックの指定が可能
var url = 'http://www.example.com/test/jsonp?callback=?';
Pot.jsonp(url, {
queryString : {
q : 'JavaScript OR ECMAScript' // 文字列は Pot.urlEncode() によりエンコードされる
}
}).then(function(data) {
// 成功時
Pot.debug(data.results[0].text);
}).rescue(function(err) {
// エラー時
Pot.debug('Error! ' + err);
});