>  기사  >  웹 프론트엔드  >  jquery $.getJSON() 도메인 간 request_jquery

jquery $.getJSON() 도메인 간 request_jquery

WBOY
WBOY원래의
2016-05-16 17:58:021155검색

1. 동일한 도메인 이름 및 기타 요청은 동일할 수 있습니다.
js:

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

var url="http://localhost:2589/a.ashx";
$(function(){
$.getJSON(url,function(data){
alert (data.Name);
})
})

서버는
{"Name":"logn","Age"라는 문자열을 반환합니다. :23}
2,
다른 도메인 이름의 js:
코드 복사 코드는 다음과 같습니다.

var url="http://localhost:2589/a.ashx?callback=?"
$(function(){
$.getJSON(url,function(data ){
alert (data .Name);
})
});

서버는 다음 문자열을 반환합니다:
jQuery1706543070425920333_1324445763158({"Name":"loogn ","Age":23})
반환된 문자열은 "jQuery1706543070425920333_1324445763158"이라는 함수이고 매개변수는 {"Name":"logn","Age":23}입니다.
사실 이 매우 긴 함수 이름은 요청 경로에 있는 callback=? 함수입니다. $.getJSON 메서드는 콜백 메서드를 참조하는 이름을 생성합니다. . 위의 요청은
http://localhost:2589/a.ashx?callback=jQuery1706543070425920333_1324445763158&_=1324445763194가 됩니다. 서버는 json을 반환할 때 이를 처리해야 합니다. 예:
코드 복사 코드는 다음과 같습니다.

string cb = context.Request["callback"]
context.Response.Write (cb "(" json ")");

충돌을 두려워하여 콜백을 jsoncallback으로 대체할 수도 있습니다. 다시 감지됩니다(테스트되지 않음!!)
? 특정 함수 이름일 수도 있으므로 콜백 함수를 익명으로 사용할 수 없습니다. 생성은 일반적인 작업을 위해 jQuery가 제공하는 편의일 뿐입니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.