js跨域资源共享 基础篇


Posted in Javascript onJuly 02, 2016

本文详细介绍了javascript跨域资源共享,供大家参考,具体内容如下

1.为什么提出跨域资源共享(CORS)?
    因为XHR实现ajax的安全限制是:XHR 对象只能访问与包含它的页面位于同一个域中的资源

2.如何实现跨域?(跨浏览器)

// 跨浏览器创建并返回CORS对象
  // param method : 请求的方式, get or post
  // param url : 跨域请求的url
  // return xhr : 返回的跨域资源对象
  function createCORSRequest(method, url){
    var xhr = new XMLHttpRequest(); 
    if ("withCredentials" in xhr){
      xhr.open(method, url, true);  // CORS都是通过异步的请求
    } else if (typeof XDomainRequest != "undefined"){  // IE
      vxhr = new XDomainRequest();
      xhr.open(method, url);
    } else {
      xhr = null;
    }
    return xhr;
  }
  var request = createCORSRequest("get", "http://localhost/aaa/dome2.php");
  if (request){
    // 用于替代onreadystatechange 检测成功,表示接受数据完毕
    request.onload = function(){
      // 对响应的信息进行处理
      alert(request.responseText);  // 取得响应的内容
    };
    // 用于替代onreadystatechange 检测错误。
    request.onerror = function(){
      // 对响应的信息进行处理
    };
    // 用于停止正在进行的请求。
    request.onabort = function(){
      // 对响应的信息进行处理
      alert(request.responseText);
    };
    // 跨域发送请求
    request.send();
  }

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Angularjs注入拦截器实现Loading效果
Dec 28 Javascript
javascript+css3 实现动态按钮菜单特效
Feb 06 Javascript
javascript汉字拼音互转的简单实例
Oct 09 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
详解node nvm进行node多版本管理
Oct 21 Javascript
javascript中的隐式调用
Feb 10 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
Jun 07 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
基于JavaScript实现单例模式
Oct 30 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 Javascript
JavaScript数据存储 Cookie篇
Jul 02 #Javascript
JavaScript实现简单的拖动效果
Jul 02 #Javascript
jQuery插件简单学习实例教程
Jul 01 #Javascript
jquery插件autocomplete用法示例
Jul 01 #Javascript
AngularJS 避繁就简的路由
Jul 01 #Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 #Javascript
AngularJS实现分页显示数据库信息
Jul 01 #Javascript
You might like
第二节 对象模型 [2]
2006/10/09 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
FF IE兼容性的修改小结
2009/09/02 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
JavaScript计算正方形面积
2019/11/26 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
python 函数中的参数类型
2020/02/11 Python
基于python实现模拟数据结构模型
2020/06/12 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
《苏珊的帽子》教学反思
2014/04/07 职场文书
团委竞选演讲稿
2014/04/24 职场文书
服装设计师求职信
2014/06/04 职场文书
《司马光》教学反思
2016/02/22 职场文书
高一英语教学反思
2016/03/03 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
Vue3.0 手写放大镜效果
2021/07/25 Vue.js