スマートフォン用の表示で見る

JSONP

コンピュータ

JSONP

じぇいそんぴー

JSON with paddingの略

Javascriptの非同期通信でよく使われるXMLHttpRequestオブジェクトにはSame-Originポリシーが存在し、クロスドメインアクセスができない。

一方,scriptタグを用いると,ドメインの異なるサーバに置いているスクリプトファイルを読み込むことができる。この仕組みを利用し、scriptタグのsrcに、データを取得できるAPIURLを指定し,ドメインの異なるサーバからデータを取得する仕組みの総称として、JSOPという言葉が使われる。JSONP用のAPIでは、関数名+取得データをjson形式で表記して引数とした形式(例.callbackFunc({id:1000,name:aaa}))のレスポンスが一般的で、APIから返されるコールバック関数と同じ名前の関数(callbackFunc(jsonData))をクライアント側で定義しておけば、データを読み込んだ際にそのコールバック関数が実行される。動的にscriptDOMを生成することで、非同期でデータが取得できるようになる。


ただし、Same-Originポリシーが存在しないため、機密情報をAPIに含める際には十分な注意が必要である。


はてなでもJSONPによるデータ取得用APIを公開している。

http://d.hatena.ne.jp/hatenastar/20070908/1189212476