后端: 复制代码 代码如下: <?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帮助文件示例
推荐阅读
在jQuery1.5中使用deferred对象 着放大镜看Promise
引言在那篇经典的关于jQuery1.5中Deferred使用方法介绍的文章中(译文见这里),有下面一段描述: $.ajax() returns an object packed with other deferred-related methods. I discussed promise(), but you'll a>>>详细阅读
本文标题:基于Jquery的跨域传输数据(JSONP)
地址:http://www.17bianji.com/kaifa2/JS/24850.html
1/2 1