基于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 相关文章推荐
用javascript实现的支持lrc歌词的播放器
May 17 Javascript
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
jquery实现左右滑动菜单效果代码
Aug 27 Javascript
JS正则表达式比较常见用法
Jan 26 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
基于JavaScript实现全选、不选和反选效果
Feb 15 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
Dec 28 Javascript
js构造函数创建对象是否加new问题
Jan 22 Javascript
TypeScript之调用栈的实现
Dec 31 Javascript
node脚手架搭建服务器实现token验证的方法
Jan 20 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
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
Python装饰器用法实例总结
2018/02/07 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
python FTP编程基础入门
2021/02/27 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
农贸市场管理制度
2014/01/31 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
大型晚会策划方案
2014/02/06 职场文书
新春联欢会主持词
2014/03/24 职场文书
新员工试用期自我评价
2015/03/10 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang