在Web開發中,經常會遇到需要從一個域名下請求另一個域名下的數據,這就是跨域請求。但是默認情況下,瀏覽器為了安全考慮,是不允許跨域請求的。
在jQuery中,可以使用ajax方法或get方法進行跨域請求。這里演示一下ajax方法:
$.ajax({ type: "get", url: "http://example.com/data", data: {name: "張三", age: 18}, dataType: "jsonp", // 注意這里是jsonp而不是json success: function(data){ console.log(data); }, error: function(jqXHR, textStatus, errorThrown) { console.log("請求失敗:" + textStatus + ",錯誤信息:" + errorThrown); } });
上面代碼中,首先是ajax方法的調用,type表示請求類型,url表示請求的地址,data表示請求的參數,dataType表示返回的數據類型,這里使用jsonp來實現跨域請求。
接下來是ajax方法的回調函數,success表示請求成功后的處理,error表示請求失敗后的處理。其中,請求成功后,會將返回的數據存儲在data中,我們可以在回調函數內對數據進行處理。
需要注意的是,jsonp比較特殊,它并不是普通的ajax請求。在服務器端,需要對jsonp進行回調函數的處理,將數據返回給客戶端。這里不再展開講解。