jQueryでクロスドメイン間通信をやってみた。理屈は、やりながらわかるだろうと挑戦。先日の「Ajax&AIR&Silverlight入門」セミナーのAjaxセッションでの資料を基に進める。
- 資料とメモ見ながら、ソースを書く
- Yahoo!PipesでFetchFeedを選択して、はてなのRSSフィードをJSON形式に変換するpipeを作成
- 上記のURLをソースにコピペ
- Firefox+Firebug上で実行
簡単に動く。。。予定でしたが、これが苦労した。今思えば、Y!pipeからコピペで済ませたところが悪かったよう。Y!pipeのクエリの最後が ? で終わるように、追記してやる必要があったようです。 '&_render=json' で終わっていたところに '&_callback=?' と追記したら動いた(確かに資料には書かれている。。。)。
ちなみに、$.getJSONした部分で、次のエラーがFirebugで表示されてました。
invalid label done(undefined) success() ready() {"count":30," ...略...
何か取れてるのにーと思いながら検索し続けた結果、次のサイトとセミナー資料で解決。両者に感謝。こんなに手軽に他のサイトとコラボできてしまうのですね。ちょっとはまったものの、jQueryの楽しさがわかった気がします。