jQuery是一個(gè)非常實(shí)用的JavaScript庫,它可以方便地完成許多常見的Web開發(fā)任務(wù)。在Web開發(fā)中,跨域訪問是一個(gè)常見的問題。當(dāng)我們使用Ajax請(qǐng)求另一個(gè)域名的數(shù)據(jù)時(shí),瀏覽器會(huì)拒絕該請(qǐng)求。這是因?yàn)闉g覽器中的同源策略要求所有Ajax請(qǐng)求都必須與當(dāng)前頁面具有相同的協(xié)議、主機(jī)和端口號(hào)。
解決這個(gè)問題的一種常見方法是在服務(wù)器端設(shè)置允許跨域訪問。通過使用HTTP響應(yīng)頭中的Access-Control-Allow-Origin標(biāo)頭,可以告訴瀏覽器允許另一個(gè)域名訪問該資源。然而,如果我們沒有控制服務(wù)器上的代碼,或者只是想在本地開發(fā)期間使用一些API,我們可以使用jQuery設(shè)置跨域請(qǐng)求。
$.ajax({
url: 'http://其他域名的URL',
type: 'GET',
dataType: 'jsonp',
jsonp: 'callback',
success: function(data){ console.log(data); },
error: function(xhr, status, error) {
console.log(xhr.responseText);
}
});
上面的示例使用GET請(qǐng)求并指定使用JSONP格式進(jìn)行數(shù)據(jù)傳輸。JSONP(JSON with Padding)是一種使用