JQuery Ajax 跨域访问的解决方案


Posted in Javascript onMarch 12, 2010

具体情况有:
一、本域和子域的相互访问: http://www.aa.com/和book.aa.com
二、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 iframe
三、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 XMLHttpRequest访问代理
四、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 JS创建动态脚本
今天主要讨论第4中解决方案,这个和上个的区别就是请求是使用<script>标签来请求的,这个要求也是两个域都是由你来开发才行。原理就是JS文件注入,在本域内的a内生成一个JS标签,它的SRC指向请求的另外一个域的某个页面b,b返回数据即可,可以直接返回JS的代码。因为script的src属性是可以跨域的。
这里我们需要用到JQuery.getScript(url, callback)方法,url是脚本文件的URL路劲,callback函数在脚本资源已被加载和求值后调用的回调函数。
首先在bb.com创建一个js文件,test.js

var ojb = {msg:'js跨域请求成功'};

然后在aa.com的页面上使用$.getScript加载test.js脚本
$(function() { 
$.getScript('http://www.bb.com/test.js', function() { 
if (ojb) { 
alert(obj.msg); 
} 
}); 
});

使用$.getScript函数的最大好处就是可以保证,脚本加载完毕后调用回调函数。
个人感觉这种方法比使用代理和iframe要简单一些。
Javascript 相关文章推荐
javascript 复杂的嵌套环境中输出单引号和双引号
May 26 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
实例讲解jquery中mouseleave和mouseout的区别
Feb 17 Javascript
一分钟理解js闭包
May 04 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
Jan 21 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 Javascript
详解vue-router 命名路由和命名视图
Jun 01 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
微信小程序实现页面左右滑动
Nov 16 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
Mar 11 #Javascript
jquery 简单的进度条实现代码
Mar 11 #Javascript
精通JavaScript 纠正 cleanWhitespace函数
Mar 11 #Javascript
Javascript 入门基础学习
Mar 10 #Javascript
javascript showModalDialog,open取得父窗口的方法
Mar 10 #Javascript
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 #Javascript
js Date自定义函数 延迟脚本执行
Mar 10 #Javascript
You might like
让你的网站首页自动选择语言转跳
2006/12/06 PHP
php中Smarty模板初体验
2011/08/08 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
php实现文章评论系统
2019/02/18 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
详解vue-cli3使用
2018/08/14 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
Python中bisect的用法
2014/09/23 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
大学生毕业自我评价范文分享
2013/11/07 职场文书
公休请假条
2014/04/11 职场文书
工作评语大全
2014/04/26 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
新手必备Python开发环境搭建教程
2021/05/28 Python
react中的DOM操作实现
2021/06/30 Javascript