http://www.ibm.com/developerworks/jp/web/library/wa-aj-jsonp1/
JSONPとは、json形式のパラメータのこと。
つまり
func({param1: "a", param2: "b"});
こんなの。
JSONPを利用したクロスドメインの情報取得の原理は、以下のようなものである。
1. クライアント側:JSONPを引数として受け取る適当な関数を持っておく。ここでは"func"とする。
2. クライアント側:javascriptによってscriptタグを生成する
3. クライアント側:scriptタグのsrcに外部サーバ側のJSONP対応のURLを指定する
4. 外部サーバ側:引数に要求されたデータをJSONP形式にしたものを渡して、"func"を呼び出す
5. クライアント側:"func"関数の中で、サーバから引き渡されたデータを処理する
……と、このような手順で本来はクロスドメインでは得られないはずの外部サーバ側のデータを取得できる。
通常のrssからJSONPへの変換機能は、YahooPipeのパイプとして提供されている。
XML 2 JSON serviceなんてのもあるみたい。
jQueryによるJSONPの扱い方は、こんな感じ。
jQuery.getJSON("http://www.yourdomain.com/jsonp/ticker?symbol=IBM&callback=?", function(data) { alert("Symbol: " + data.symbol + ", Price: " + data.price); });