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 相关文章推荐
javascript表单验证 - Parsley.js使用和配置
Jan 25 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
分享十五款 jQuery 社交网络分享插件
May 16 Javascript
jQuery中$.extend()用法实例
Jun 24 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
JS只能输入正整数的简单实例
Oct 07 Javascript
Vue插件写、用详解(附demo)
Mar 20 Javascript
Vue计算属性的学习笔记
Mar 22 Javascript
jQuery中each方法的使用详解
Mar 18 jQuery
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
Javascript中的奇葩知识,你知道吗?
Jan 25 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标签云的实现代码
2012/10/10 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
js 字符串操作函数
2009/07/25 Javascript
jquery中动态效果小结
2010/12/16 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
Vue使用vue-cli创建项目
2017/09/01 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python实现flappy bird小游戏
2018/12/24 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
建筑人员岗位职责
2013/12/25 职场文书
行政部总经理岗位职责
2014/01/04 职场文书
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
2015年班干部工作总结
2015/04/29 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python