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가 제공하는 편의일 뿐입니다.