基于Jquery的跨域传输数据(JSONP)


Posted in Javascript onMarch 10, 2011

后端:

<?php 
$json_str = json_encode(array("ddd"=>"11111111")); 
echo $_GET['ja'].'('.$json_str.')'; 
?>

前端:
$.getJSON('http://www.liushan.cn/test.php?ja=?',function (json){ 
alert(json); 
});

纯JS实现(JSONP):
//server return aa({'ddd':'ddd'}) callback function name: $_GET['callback'] 
//author:lonely 
(function(w){ 
function getjson(){} 
getjson.prototype.set=function(url,callback,callbackname){ 
this.callfn=callbackname||'urlcallback'; 
this.url=url+"?callback="+this.callfn; 
try{ 
eval(this.callfn+"=function(data){\n"+ 
"callback(data);\n"+ 
'delete '+this.callfn+';}'); 
}catch(e){return;} 
this.request(); 
delete this.url; 
} 
getjson.prototype.request=function(){ 
var script=document.createElement("script"); 
script.src=this.url; 
var load=false; 
script.onload = script.onreadystatechange = function() { 
if(this.readyState === "loaded" || this.readyState === "complete"){ 
load=true; 
script.onload = script.onreadystatechange=null; 
} 
}; 
var head=document.getElementsByTagName("head")[0]; 
head.insertBefore(script,head.firstChild); 
} 
w.getjson=getjson; 
})(window) 
//使用DOME 
new getjson().set("http://www.test.cn/test.php",function(data){ 
alert(data.ddd); 
});

另一个:getScript
jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function(){ 
$("#go").click(function(){ 
$(".block").animate( { backgroundColor: 'pink' }, 1000) 
.animate( { backgroundColor: 'blue' }, 1000); 
}); 
});//CHM帮助文件示例
Javascript 相关文章推荐
科讯商业版中用到的ajax空间与分页函数
Sep 02 Javascript
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
自己编写的支持Ajax验证的JS表单验证插件
May 15 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
基于JavaScript实现类名的添加与移除
Apr 23 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
vue.js语法及常用指令
Oct 29 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
Mar 02 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
使用Webpack 搭建 Vue3 开发环境过程详解
Jul 28 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 #Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 #Javascript
JQuery中的$.getJSON 使用说明
Mar 10 #Javascript
基于jquery的地址栏射击游戏代码
Mar 10 #Javascript
基于jquery的无缝循环新闻列表插件
Mar 07 #Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 #Javascript
jQuery总体架构的理解分析
Mar 07 #Javascript
You might like
php的hash算法介绍
2014/02/13 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
javascript 进度条 实现代码
2009/07/30 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
js实现抽奖效果
2017/03/27 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
python中__call__内置函数用法实例
2015/06/04 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python删除n行后的其他行方法
2019/01/28 Python
python中自带的三个装饰器的实现
2019/11/08 Python
django中media媒体路径设置的步骤
2019/11/15 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
工商行政管理专业求职书
2014/05/23 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
贷款承诺书
2015/01/20 职场文书
欠条格式范本
2015/07/03 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python