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