跨域通信

咱们一般都会用ajax 做前后台交互,也就是我们常用的XHRHttpRequest 对象,那么这个倒底是否支持跨域通信呢?

我们接下来看一下( IE5,6我们先忽略 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  )

在标准浏览器下,XMLHttpRequest对象已经是升级版本,支持了更多的特性,可以跨域了
但是,如果想实现跨域请求,还需要后端的相关配合才可以,

后台需要设置头部允许跨域  header('Access-Control-Allow-Origin:http://www.a.com'); //这是允许访问该资源的域

 1 var xhr = new XMLHttpRequest();
 2         xhr.onreadystatechange = function() {
 3             if (xhr.readyState == 4) {
 4                 if (xhr.status == 200) {
 5                     alert(xhr.responseText);
 6                 }
 7             }
 8         }
 9         xhr.open('get', 'elseDomain_url', true);
10         xhr.send();

XMLHttpRequest : 增加很多功能,他也不推荐使用onreadystatechange这个事件来监听,推荐使用onload

XDomainRequest : IE如果想实现跨域请求,IE下使用 XDomainRequest 对象,如下

1 var oXDomainRequest = new XDomainRequest();
2         oXDomainRequest.onload = function() {
3             alert(this.responseText);
4         }
5         oXDomainRequest.open('get', 'elseDomain_url', true);
6         oXDomainRequest.send();

猜你喜欢

转载自www.cnblogs.com/chenyajie/p/8930016.html
今日推荐