在實際項目當(dāng)中,我們經(jīng)常會遇到同一個域名下不同項目之間通過Ajax相互調(diào)用數(shù)據(jù),這樣問題就來了,如何通過Ajax實現(xiàn)跨域呢?
解決方案
1.Jsonp
Jsonp解決跨域相對簡單,服務(wù)器無需任何配置。具體實現(xiàn)如下:
$.ajax({
type: 'get',
url: 'http://xxx.com',
data: {},
dataType: 'jsonp',
success: function (data) {
},
error: function (data) {
mask.close();
toast('請求失敗');
}
});
2.CORS
CORS解決方案需要前端和服務(wù)端共同配置才能實現(xiàn)
前端
$.ajax({
url: 'http://xxx.com',
type: 'post',
xhrFields:{
withCredentials:true
},
data: {},
success: function(res){
},
error: function(){
alert('服務(wù)器發(fā)生錯誤!');
}
});
服務(wù)端(在程序入口文件配置)
header('Access-Control-Allow-Origin: http://xxx.com');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
總結(jié)
以上所述是小編給大家介紹的Ajax實現(xiàn)跨域訪問最新解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- 詳解Django解決ajax跨域訪問問題
- 關(guān)于C#中ajax跨域訪問問題
- Ajax 設(shè)置Access-Control-Allow-Origin實現(xiàn)跨域訪問
- Ajax跨域訪問Cookie丟失問題的解決方法
- ajax跨域訪問報錯501的解決方法
- 淺談JQuery+ajax+jsonp 跨域訪問
- ajax跨域訪問遇到的問題及解決方案