JSONP覚書

Javascriptでajaxを使った場合同一ホストにしか接続できない。jsonpは他のホストにも接続する技術。

JavascriptでJavascriptを埋め込んで、そのsrc属性に他のホストをを指定する。このときURLにcallback=関数名などとすれば、サーバ側で対応してれば本来返すjsonをその関数名で括ったものを返すので、javascript埋め込みはその関数の実行になり、その関数の引数はjsonオブジェクトになる。

普通のjson要求、以下を送るとjsonが帰ってくる。
http://api.twitter.com/1/statuses/public_timeline.json?count=3&include_entities=true

これにcallback=mycallbackをつけるとjavascriptが帰ってくる。
http://api.twitter.com/1/statuses/public_timeline.json?callback=mycallback&count=3&include_entities=true

あらかじめmycallbackを定義してからこのjsonpを実行すれば、呼ばれることになって、その引数がjavascriptオブジェクトになる。ただし404などが帰ってくると、エラー処理できないか。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)