jquery下利用jsonp跨域访问实现方法


Posted in Javascript onJuly 29, 2010
$.ajax({ 
async:false, 
url: '', // 跨域URL 
type: 'GET', 
dataType: 'jsonp', 
jsonp: 'jsoncallback', //默认callback 
data: mydata, //请求数据 
timeout: 5000, 
beforeSend: function(){ //jsonp 方式此方法不被触发。原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了 
}, 
success: function (json) { //客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数 
if(json.actionErrors.length!=0){ 
alert(json.actionErrors); 
} }, 
complete: function(XMLHttpRequest, textStatus){ 
}, 
error: function(xhr){ 
//jsonp 方式此方法不被触发 
//请求出错处理 
alert("请求出错(请检查相关度网络状况.)"); 
} 
});

$.getJSON(url+"?callback=?", 
function(json){ });

这种方式其实是上例$.ajax({..}) 的一种高级封装。

在服务端通过获得callback参数(如:jsonp*****)得到jQuery端随后要回调的
然后返回类似:"jsonp*****("+要返回的json数组+")";
jquery就会通过回调方法动态加载调用这个:jsonp*****(json数组);
这样就达到了跨域数据交换的目的.

JSONP是一种脚本注入(Script Injection)行为,所以也有一定的安全隐患。

注意:jquey是不支持post方式跨域的。
参考:http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/

Javascript 相关文章推荐
jQuery实现动画效果的简单实例
Jan 27 Javascript
jquery实现预览提交的表单代码分享
May 21 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 Javascript
jQuery中的基本选择器用法学习教程
Apr 14 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
详解JS中的柯里化(currying)
Aug 17 Javascript
解析Vue2 dist 目录下各个文件的区别
Nov 22 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 Javascript
微信小程序左滑删除功能开发案例详解
Nov 12 Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 Javascript
jquery-easyui关闭tab自动切换到前一个tab
Jul 29 #Javascript
jquery 图片轮换效果
Jul 29 #Javascript
jQuery的写法不同导致的兼容性问题的解决方法
Jul 29 #Javascript
基于jQuery制作迷你背词汇工具
Jul 27 #Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 #Javascript
js操作二级联动实现代码
Jul 27 #Javascript
jquery.jstree 增加节点的双击事件代码
Jul 27 #Javascript
You might like
为查询结果建立向后/向前按钮
2006/10/09 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
微信小程序按钮点击动画效果的实现
2019/09/04 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
python中stdout输出不缓存的设置方法
2014/05/29 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
python实现猜拳游戏项目
2020/11/30 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
办加油卡单位介绍信
2014/01/09 职场文书
酒店总经理助理职责
2014/02/12 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
小学生作文评语大全
2014/04/21 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
写给老师的保证书
2015/05/09 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
Redis Stream类型的使用详解
2021/11/11 Redis