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公共脚本库系列(一): 弹出层脚本
Feb 24 Javascript
JavaScript实现表格排序方法
Jun 14 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
原生JS取代一些JQuery方法的简单实现
Sep 20 Javascript
jQuery简单实现MD5加密的方法
Mar 03 Javascript
浅谈vuex之mutation和action的基本使用
Aug 29 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
Vue.js实现的表格增加删除demo示例
May 22 Javascript
微信小程序实现留言功能
Oct 31 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
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
python实现汉诺塔方法汇总
2016/07/25 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
Python编程实现蚁群算法详解
2017/11/13 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
GWebs公司笔试题
2012/05/04 面试题
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
关于建议书的格式范文
2014/05/20 职场文书
新文化运动的口号
2014/06/21 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
Python使用Web框架Flask开发项目
2022/06/01 Python
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS