基于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 相关文章推荐
经常用的图片在容器中的水平垂直居中实例
Jun 10 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
使用JS读秒使用示例
Sep 21 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
jQuery中unbind()方法用法实例
Jan 19 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
Oct 31 Javascript
Vue如何从1.0迁移到2.0
Oct 19 Javascript
element-ui 限制日期选择的方法(datepicker)
May 16 Javascript
vue2.0项目实现路由跳转的方法详解
Jun 21 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 Javascript
javascript数组元素删除方法delete和splice解析
Dec 09 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
PHPMailer 中文使用说明小结
2010/01/22 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
Linux下python制作名片示例
2018/07/20 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
浅析python中while循环和for循环
2019/11/19 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
Python 实现数组相减示例
2019/12/27 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
计算机专业毕业生求职信分享
2013/12/24 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书