基于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 相关文章推荐
juqery 学习之五 文档处理 插入
Feb 11 Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 Javascript
Node.js 学习笔记之简介、安装及配置
Mar 03 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
May 21 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
Aug 03 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
Dec 20 Javascript
JavaScript 总结几个提高性能知识点(推荐)
Feb 20 Javascript
vue.js前后端数据交互之提交数据操作详解
Apr 24 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
Nov 11 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 图像尺寸调整代码
2010/05/26 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
phplot生成图片类用法详解
2015/01/06 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
轮播图组件js代码
2016/08/08 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python实现的简单算术游戏实例
2015/05/26 Python
打包发布Python模块的方法详解
2016/09/18 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
python浪漫表白源码
2019/04/05 Python
Python 从attribute到property详解
2020/03/05 Python
python设置中文界面实例方法
2020/10/27 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
电子商务自荐书范文
2014/01/04 职场文书
《童年》教学反思
2014/02/18 职场文书
《童趣》教学反思
2014/02/19 职场文书
保护环境倡议书
2014/04/14 职场文书
先进班集体事迹材料
2014/12/25 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
小学德育工作总结2015
2015/05/12 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
基于Python实现一个春节倒计时脚本
2022/01/22 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA