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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 Javascript
javascript实现避免页面按钮重复提交
Jan 08 Javascript
JavaScript数据类型判定的总结笔记
Jul 31 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
Sep 11 Javascript
Angular.js中定时器循环的3种方法总结
Apr 27 Javascript
vue组件传递对象中实现单向绑定的示例
Feb 28 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 Javascript
jQuery实现简单全选框
Sep 13 jQuery
vue render函数动态加载img的src路径操作
Oct 26 Javascript
vue移动端下拉刷新和上滑加载
Oct 27 Javascript
javascript实现简单页面倒计时
Mar 02 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
php 函数使用方法与函数定义方法
2010/05/09 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
2016/12/08 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
python try 异常处理(史上最全)
2019/03/07 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
用python制作个音乐下载器
2021/01/30 Python
培训讲师邀请函
2014/01/10 职场文书
高中生操行评语大全
2014/04/25 职场文书
单位单身证明样本
2014/10/11 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
百年孤独读书笔记
2015/06/29 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
关于python中模块和重载的问题
2021/11/02 Python
Python利用FlashText算法实现替换字符串
2022/03/31 Python
vue3不同环境下实现配置代理
2022/05/25 Vue.js