Dojo1.2.3 で JSONP をやるよ!
公式ドキュメントに ScriptSrcIO を使った JSONP のサンプルが載っていたので試したら、dojo.io.ScriptSrcIO が 404 で読み込めなかった。
あれ?と思って API ドキュメントを漁ると、どうやら(どのバージョンからは分からないけど、少なくとも 1.2.3 からは)dojo.io.script というのを使うようになったようだ。→http://api.dojotoolkit.org/jsdoc/1.2.3/dojo.io.script
Dojo の API ドキュメントはサンプルがほとんどなくて、いつもあまりアテにはしてなかったのだけど、引数の表記が気になってクリックしてみたら…http://api.dojotoolkit.org/jsdoc/1.2.3/dojo.io.script.__ioArgs
そうそう、これくらい書いてくれないと困りますよ〜。
こっちのページも親切。http://api.dojotoolkit.org/jsdoc/1.2.3/dojo.io.script.get
サンプルコード
twitterのフレンド一覧を取得します。事前にtwitterのログインが必要。別途、Basic認証させても可。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <style type="text/css"> @import "http://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dijit/themes/tundra/tundra.css"; @import "http://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dojo/resources/dojo.css"; </style> <script type="text/javascript" src="http://www.google.com/jsapi"> </script> <script type="text/javascript"> //<![CDATA[ djConfig = { parseOnLoad: true, baseUrl: "./", isDebug: false, useXDomain: true }; google.load("dojo", "1.2.3"); //]]> </script> <script type="text/javascript"> dojo.require("dojo.io.script"); </script> <script type="text/javascript"> function getFriends(){ script = dojo.io.script.get({ url: "http://twitter.com/statuses/friends.json", callbackParamName: "callback", load: function(response, ioArgs){ console.debug("loaded."); }, error: function(response, ioArgs){ console.error("error"); }, timeout: 5000 }); } </script> <script type="text/javascript"> dojo.addOnLoad(getFriends); </script> </head> <body class="tundra"> </body> </html>