Home  >  Article  >  Web Front-end  >  Cross-domain data transmission (JSONP) based on Jquery_jquery

Cross-domain data transmission (JSONP) based on Jquery_jquery

WBOY
WBOYOriginal
2016-05-16 18:09:391195browse

Backend:

Copy code The code is as follows:

$json_str = json_encode(array("ddd"=>"11111111"));
echo $_GET['ja'].'('.$json_str.')';
?>

Front-end:
Copy code The code is as follows:

$.getJSON(' http://www.liushan.cn/test.php?ja=?',function (json){
alert(json);
});

Pure JS implementation (JSONP):
Copy code The code is as follows:

//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)
/ /Use DOME
new getjson().set("http://www.test.cn/test.php",function(data){
alert(data.ddd);
});

Another: getScript
Copy code The code is as follows:

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 help file example
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn