ajax跨域請求簡單介紹

admin發表於2017-02-22

本章介紹一下ajax跨域請求問題,內容主要是引用網路上的一篇文章,希望能夠需要的朋友帶來一定的幫助。

一.是jsonp格式檔案:

如果獲取的資料檔案存放在遠端伺服器上(域名不同,也就是跨域獲取資料),則需要使用jsonp型別。使用這種型別的話,會建立一個查詢字串引數 callback=? ,這個引數會加在請求的URL後面。伺服器端應當在JSON資料前加上回撥函式名,以便完成一個有效的JSONP請求。意思就是遠端服務端需要對返回的資料做下處理,根據客戶端提交的callback的引數,返回一個callback(json)的資料,而客戶端將會用script的方式處理返回資料,來對json資料做處理。JQuery.getJSON也同樣支援jsonp的資料方式呼叫。 

二.客戶端JQuery.ajax的呼叫程式碼示例:

[JavaScript] 純文字檢視 複製程式碼
$.ajax({ 
type : "get", 
async:false, 
url : "http://www.softwhy.com/ajax.do", 
dataType : "jsonp", 
jsonp: "callbackparam",//服務端用於接收callback呼叫的function名的引數 
jsonpCallback:"success_jsonpCallback",//callback的function名稱 
success : function(json){ 
  alert(json); 
  alert(json[0].name); 
}, 
error:function(){ 
  alert('fail'); 
} 
});

三.服務端返回資料的示例程式碼:

[C#] 純文字檢視 複製程式碼
public void ProcessRequest (HttpContext context) { 
  context.Response.ContentType = "text/plain"; 
  String callbackFunName = context.Request["callbackparam"]; 
  context.Response.Write(callbackFunName + "([ { name:\"John\"}])"); 
}

相關文章