基于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 相关文章推荐
JS宝典学习笔记(下)
Jan 10 Javascript
javascript GUID生成器实现代码
Oct 31 Javascript
jquery下操作HTML控件的实现代码
Jan 12 Javascript
jquery选择器-根据多个属性选择示例代码
Oct 21 Javascript
Javascript弹出窗口的各种方法总结
Nov 11 Javascript
js判断undefined类型示例代码
Feb 10 Javascript
javascript模拟map输出与去除重复项的方法
Feb 09 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
Dec 04 Javascript
vue-router中的hash和history两种模式的区别
Jul 17 Javascript
JavaScript引用类型Array实例分析
Jul 24 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 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学习笔记之 函数声明(二)
2011/06/09 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python编写登陆接口的方法
2017/07/10 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
受欢迎的大学生自我评价
2013/12/05 职场文书
药剂专业学生求职信范文
2013/12/28 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
有关打架的检讨书
2014/01/25 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
老人与海读书笔记
2015/06/26 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android