为什么会产生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” );