色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery ajax 跨域例子

錢諍諍2年前10瀏覽0評論

像很多網(wǎng)站一樣,我們也可能需要從不同的域名獲取數(shù)據(jù)。但是,由于瀏覽器的同源策略,我們無法直接訪問從其他域名獲取的數(shù)據(jù)。使用jQuery的Ajax可以幫我們解決這個問題。

jQuery的Ajax跨域請求需要在服務(wù)器上進行一些設(shè)置。我們可以在客戶端使用以下代碼發(fā)送跨域請求:

$.ajax({
url: 'http://example.com/data.json',
dataType: 'jsonp',
success: function(data) {
console.log(data);
}
});

在服務(wù)器端,我們需要在響應(yīng)頭中添加以下代碼:

Access-Control-Allow-Origin: *

這將允許我們的網(wǎng)頁從任何域名獲取數(shù)據(jù)。在PHP中,我們可以這樣實現(xiàn):

header('Access-Control-Allow-Origin: *');

當我們發(fā)送跨域請求時,jQuery將使用JSONP技術(shù)代替標準Ajax。這將創(chuàng)建一個用于裝載數(shù)據(jù)的script標簽,并添加一個callback參數(shù)。服務(wù)器返回一個JavaScript函數(shù)調(diào)用,其中的數(shù)據(jù)作為參數(shù)傳遞給回調(diào)函數(shù)。我們可以這樣設(shè)置JSONP回調(diào)函數(shù)的名稱:

$.ajax({
url: 'http://example.com/data.json',
dataType: 'jsonp',
jsonpCallback: 'myCallback',
success: function(data) {
console.log(data);
}
});

當我們發(fā)送請求時,jQuery將使用myCallback作為回調(diào)函數(shù)的名稱。服務(wù)器應(yīng)該返回以下JavaScript代碼:

myCallback({"name": "John", "age": 30});

這將調(diào)用myCallback函數(shù),并傳遞一個對象作為參數(shù)。我們可以在myCallback函數(shù)中處理返回的數(shù)據(jù)。