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
DojoAPI ドキュメントはサンプルがほとんどなくて、いつもあまりアテにはしてなかったのだけど、引数の表記が気になってクリックしてみたら…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>