跨域請求是指在一個域名下的網頁去訪問另一個域名下的資源,一般情況下瀏覽器會禁止此類行為。但是jQuery提供了一種跨域請求的方法,即使用jsonp來實現。jsonp的原理是利用script標簽的src屬性可以跨域請求資源的特性,將返回的數據包裝在一個函數中,作為參數傳遞給客戶端,從而在客戶端執(zhí)行這個函數以獲取數據。
$.ajax({ type: "get", url: "http://example.com/data", dataType: "jsonp", jsonp: "callback", // 設置請求參數名 success: function(data) { console.log(data); }, error: function() { console.log("請求失敗"); } });
在上述代碼中,將dataType設置為jsonp表示要進行跨域請求,使用jsonp參數指定回調函數的參數名,成功后回調函數會接收到服務器返回的數據,執(zhí)行相應的操作。如果請求失敗,會執(zhí)行error函數中的代碼。
需要注意的是,使用jsonp請求數據時,服務器返回的數據必須是經過格式化的JSONP格式,即將返回結果包含在指定的回調函數中。因此,在服務端需要進行相應的處理。
總之,jQuery提供的跨域請求方法使得我們可以方便地獲取其他域名下的數據,只需要在ajax請求中加入jsonp參數即可。但同時也需要在服務端進行處理,將返回結果包裝在回調函數中返回客戶端。