在Ajax請求的url不是本地或者同一個服務器下面的URI,最后雖然請求顯示為200,但是不會返回任何數據,
事實上簡單來說請求同一個域名下的url或者說用不帶http的絕對路徑和相對路徑請求是沒有任何問題的,
如果請求外部資源,那么這就稱為跨域請求。
由於安全性的問題,瀏覽器默認不支持跨域調用,jQuery1.2之后官方推薦的結局方案:是在客戶端和服務端
同時加參數,這樣雙方都是信任的那么瀏覽器就不會阻止了。
$.ajax({
type:"get", //請求方式
async:true, //是否異步
url:"http://www.domain.net/url",
dataType:"jsonp", //跨域json請求一定是jsonp
jsonp: "callbackparam", //跨域請求的參數名,默認是callback
//jsonpCallback:"successCallback", //自定義跨域參數值,回調函數名也是一樣,默認為jQuery自動生成的字符串
data:{"query":"civilnews"}, //請求參數
beforeSend: function() {
//請求前的處理
},
success: function(data) {
//請求成功處理,和本地回調完全一樣
},
complete: function() {
//請求完成的處理
},
error: function() {
//請求出錯處理
}
});
