首页 > 代码库 > 跨域的方法
跨域的方法
跨域会存在安全问题,例如,黑客可以在本地域通过远程域获得相应的权限,然后利用得到的权限运行脚本发起攻击。通过跨域资源共享(CORS Cross-Origin Resource Sharing)可以预防某些恶意的行为。
1、IE对CORS的实现
通过引用XDR对象。
var xdr = new XDomainRequest;xdr.onload = function(){ alert("xdr.responseText"); };xdr.onerror = function(){ alert("an error occurred"); // 处理请求失败的情况};xdr.open("get","绝对地址"); // 这里传入的只有两个参数xdr.send(null);
2、其他浏览器,通过XHR对象实现CORS
var xhr = createXHR();xhr.onreadystatuschange = function(){ if( xhr.readyState == 4 ){ if( (xhr.status>=200 && xhr.status < 300) || xhr.status == 304 ){ alert(xhr.responseText); }else{ alert("Request was fail:" + xhr.status); } } };xhr.open("get","绝对地址",true); // true表示异步,这里传入的是三个参数xhr.send(null);
3、图像Ping
这种跨域是通过<img>标签实现的,这是一种浏览器与服务器之间单向的通信方式,而且,只能发送GET请求,无法访问服务器的响应文本。
4、JSONP(json with padding)技术,由两部分组成“回调函数”和“数据(json数据)”。是应用json的一种新方法。通过函数包含json的方式,使用动态<script>元素中的src属性指定一个跨域URL。
优点是可以直接访问响应文本,支持在浏览器与服务器之间双向通信。但是,如果其他域是不安全的,将会带来安全隐患。而且,这样的方式不好确定jsonp的请求是否失败。
跨域的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。