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 相关文章推荐
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
javascript实现日期格式转换
Dec 16 Javascript
JavaScript设计模式之工厂模式和构造器模式
Feb 11 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
基于JavaScript实现 网页切出 网站title变化代码
Apr 03 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
May 27 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
May 17 Javascript
vue.js语法及常用指令
Oct 29 Javascript
Vue.js中的组件系统
May 30 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
php编写简单的文章发布程序
2015/06/18 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
原生JS实现相邻月份日历
2020/10/13 Javascript
JavaScript 异步时序问题
2020/11/20 Javascript
wxPython中listbox用法实例详解
2015/06/01 Python
简单解析Django框架中的表单验证
2015/07/17 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
python实现12306火车票查询器
2017/04/20 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
上课迟到检讨书100字
2014/01/11 职场文书
《猫》教学反思
2014/02/26 职场文书
捐款倡议书
2014/04/14 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
教师个人教学反思
2016/02/23 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python