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中index()的用法分析
Sep 05 Javascript
原生JavaScript实现合并多个数组示例
Sep 21 Javascript
javascript实现数字倒计时特效
Mar 30 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 Javascript
微信小程序之拖拽排序(代码分享)
Jan 21 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
使用classList来实现两个按钮样式的切换方法
Jan 24 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
Vue请求java服务端并返回数据代码实例
Nov 28 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
Dec 11 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 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中strtotime函数使用方法分享
2012/01/10 PHP
深入解析php之sphinx
2013/05/15 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
JavaScript实用技巧(一)
2010/08/16 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
python错误处理详解
2014/09/28 Python
Python实现批量下载文件
2015/05/17 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python的json包位置及用法总结
2020/06/21 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
经营目标责任书
2015/05/08 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技