为什么会产生Ajax的跨域问题
这是因为基于安全的考虑,AJAX只能访问本地的资源,而不能跨域访问。
只有在同域名,同端口,同协议下才允许访问
如何解决Ajax的跨域问题
1.设置代理,通过写代码,让主机本身去访问然后传回。
2.用JSONP可以跨域访问
jsonp
$(document).ready(function(){
$.ajax({
url:'https://www.baidu.com/',
dataType:'jsonp',
jsonp:'cb',
data:{
wd:'XX.value'
},
success:function(result){
alert(result.s);
} ,
error:function(err){alert(er写});
});
书2`这里写代码片2
方式和Ajax类似,注意导入JQuery库
3.XHR2
“XHR2” 全称 “XMLHttpRequest Level2” 是HTML5提供的方法,对跨域访问提供了很好的支持,并且还有一些新的功能。
IE10以下的版本都不支持
只需要在服务器端头部加上下面两句代码:
header( “Access-Control-Allow-Origin:*” );
header( “Access-Control-Allow-Methods:POST,GET” );