基于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 JSQL,SQL无处不在,
May 05 Javascript
基于jquery的无缝循环新闻列表插件
Mar 07 Javascript
js算法中的排序、数组去重详细概述
Oct 14 Javascript
详解JavaScript数组和字符串中去除重复值的方法
Mar 07 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
Sep 28 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
Aug 16 Javascript
Jquery 获取相同NAME 或者id删除行操作
Aug 24 jQuery
vue使用keep-alive实现组件切换时保存原组件数据方法
Oct 30 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
提问的智慧
2006/10/09 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
js实现简单点赞操作
2020/03/17 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
py中的目录与文件判别代码
2008/07/16 Python
python数据结构之二叉树的建立实例
2014/04/29 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
Python 创建TCP服务器的方法
2020/07/28 Python
python如何实时获取tcpdump输出
2020/09/16 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
个人现实表现材料
2014/02/04 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
欢迎领导检查标语
2014/06/27 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
顶岗实习协议书
2015/01/29 职场文书
医院合作意向书范本
2015/05/08 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书