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帮助文件示例
基于Jquery的跨域传输数据(JSONP)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@