>  기사  >  웹 프론트엔드  >  Jquery_jquery 기반 교차 도메인 데이터 전송(JSONP)

Jquery_jquery 기반 교차 도메인 데이터 전송(JSONP)

WBOY
WBOY원래의
2016-05-16 18:09:391193검색

백엔드:

코드 복사 코드는 다음과 같습니다.

$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):

코드 복사 코드는 다음과 같습니다.
//서버 반환 aa({' ddd':'ddd'}) 콜백 함수 이름: $_GET['callback']
//author:lonely
(function(w){
함수 getjson(){}
getjson.prototype.set=function(url,callback,callbackname){
this.callfn=callbackname||'urlcallback'
this.url=url "?callback=" this.callfn;
시도{
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 === "로드됨" || this.readyState === "완료"){
load=true;
script.onload = script.onreadystatechange=null
>};
var head=document .getElementsByTagName("head")[0];
head.insertBefore(script,head.firstChild)
w.getjson=getjson; >})(창)
/ /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 도움말 파일 예시

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.