外部サーバー呼び出し(makeRequest)


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

OpenSocial 0.8 のmakeRequest


リクエストの送信(例は mixi とか)


//URL 設定
oid = person.id.replace("mixi.jp:","");
var url = "http://example.com/model/add/"+oid+"/";
var post_data = { nickname:person.nickname };
//オプション設定 
var params = {}; 
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; 	
params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(post_data);
params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 0;

//リクエスト 
gadgets.io.makeRequest(url, response, params); 

レスポンスの処理


function response(obj){   

       var str = "";
       //結果を表示 
	if(obj.data){ 
		str += obj.text; 
		$("#heardocument").html(str);
	}else{ 
		$("#heardocument").html('取得できませんでした');
	}
	
}

opensocial-jquery を使う場合



params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 0; に相当する指定方法はあるのか???

使用できるデータタイプ


dataType を使って指定

text, html, xml, json, jsonp, script, feed, data のいずれかを指定。

JQury.ajax を使う場合


 $.ajax({
   type: 'post',
   url: 'http://example.com/data.json',
   data: { comment: 'Say Hello!' },
   dataType: 'json',
   success: function(data, status) {
     console.log(data, status);
   },
   error: function(xhr, status, e) {
     console.info(xhr, status, e);
   }
 });

jQuery.post を使う場合


 $.post('http://example.com/data.json', { comment: 'Say Hello!' },
   function(data, status) {}, 'json');

この場合はエラーをハンドリングできない。

参考リンク