1. 程式人生 > >jquery中jsonp的ajax請求

jquery中jsonp的ajax請求


jsonp方式的ajax請求可以跨域。

例:

var url = url + '&callback=my_callback_func';
$.ajax({
	url: url,
	async: true,
	type: 'GET',
	dataType: 'script',
});
function my_callback_func()
{
        //你的程式碼邏輯
}

url中設定的callback引數是在ajax請求成功返回後呼叫。同時還可以在ajax中新增ajax請求失敗的處理(比如請求超時)

$.ajax({
	url: url,
	async: true,
	type: 'GET',
	dataType: 'script',
        error:function(){}//具體參見w3school說明 http://www.w3school.com.cn/jquery/ajax_ajax.asp
 });
注:此方法的 dataType一定要是 script。其他用法請 參見 http://www.w3school.com.cn/jquery/ajax_ajax.asp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
     <title>Untitled Page</title>
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
      <script type="text/javascript">
     jQuery(document).ready(function(){
         $.ajax({
             type : "get",
             async:false,
             url : "ajax.ashx",
             dataType : "jsonp",
             jsonp: "callbackparam",//傳遞給請求處理程式或頁面的,用以獲得jsonp回撥函式名的引數名(預設為:callback)
             jsonpCallback:"success_jsonpCallback",//自定義的jsonp回撥函式名稱,預設為jQuery自動生成的隨機函式名
             success : function(json){
                 alert(json);
                 alert(json[0].name);
             },
             error:function(){
                 alert('fail');
             }
         });
         var a="firstName Brett";
         alert(a);
     });
     </script>
     </head>
  <body>
  </body>
 </html>