Dojoを使ってクロスドメインAjaxをやってみた

今、FXトレーダーがあると便利なちょっとしたツールを開発しているのですが、その開発中の技術的メモ。

Ajaxで使用される通常のXMLHttpRequestではセキュリティ上の理由から、現在表示しているページ以外のドメインに対してリクエストを送ることができないが、JavaScriptライブラリのDojoを使うとそれが可能になります。
※Dojoのバージョンは、1.1.1

◆サンプルソース

<script type="text/javascript" src="../dojo/dojo.js"></script>
	<script type="text/javascript" src="../dojo/io/script.js"></script>
	<script type="text/javascript">
	dojo.require("dojo.io.script");
		
		function test(){
			dojo.io.script.get({
				url : "http://api.search.yahoo.com/ImageSearchService/V1/imageSearch",
				content: {appid: "dojoDemo" , output: "json" , results: "20" , query: "beach"},
				handleAs: "application/json",
				preventCache: true,
				callbackParamName: "callback",
				load: function(data){ showOutput(data); }
			});
		};
		
		function showOutput(json) {
	        data = json['ResultSet']['Result'];
	        var html = '';
	        for (var i=0; i < data.length; i++) {
	          html += '<a href="'+data[i].RefererUrl+'">';
	          html += '<img src="' + data[i].Thumbnail.Url + '" height="100"/>';
	        }
	        dojo.byId('output').innerHTML = html;
      	}
		
</script>

ブラウザから直接Yahoo!APIを呼び出しています。

参考資料
[dojo] – 駆け出しプログラマの奮闘記
ウノウラボ Unoh Labs: Dojoで簡単にクロスドメインAjaxを実現

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です