基于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下高性能字符串连接StringBuffer类
Aug 16 Javascript
jQuery实现当按下回车键时绑定点击事件
Jan 28 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
jQuery实现的简单悬浮层功能完整实例
Jan 23 Javascript
jQuery设置图片等比例缩小的方法
Apr 29 jQuery
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 Javascript
微信小程序实现图片压缩功能
Jan 26 Javascript
理解Koa2中的async&amp;await的用法
Feb 05 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 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
swfupload 多文件上传实现代码
2008/08/27 PHP
PHP 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
浅谈Python处理PDF的方法
2017/11/10 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
python实现网页录音效果
2020/10/26 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
学生励志演讲稿
2014/01/06 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
师范生见习自我总结
2015/06/23 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
解决xampp安装后Apache无法启动
2022/03/21 Servers
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis