基于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 相关文章推荐
ext读取两种结构的xml的代码
Nov 05 Javascript
Firefox下提示illegal character并出现乱码的原因
Mar 25 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
May 03 Javascript
浅析jquery的作用与优势
Dec 02 Javascript
js实现的tab标签切换效果代码分享
Aug 25 Javascript
JS+CSS实现DIV层的展开、收缩效果
Jan 28 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
react-router中的属性详解
Jun 01 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
JS co 函数库的含义和用法实例总结
Apr 08 Javascript
Openlayers实现图形绘制
Sep 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
javascript之AJAX框架使用说明
2010/04/24 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
python解析含有重复key的json方法
2019/01/22 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
财务会计应届生求职信
2013/11/24 职场文书
会计主管岗位职责
2014/01/03 职场文书
保密工作实施方案
2014/02/24 职场文书
路政管理求职信
2014/06/18 职场文书
庆七一宣传标语
2014/10/08 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
增值税发票丢失证明
2015/06/19 职场文书
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers