在实际项目当中,我们经常会遇到同一个域名下不同项目之间通过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跨域访问遇到的问题及解决方案