이전에는 무슨 일이 일어나고 있는지 전혀 이해하지 못했지만 이제는 선택의 여지가 없어서 문서를 주의 깊게 읽었고 마침내 테스트에 성공했습니다. 참고하세요
1, 동일한 도메인 이름과 기타 요청은 동일할 수 있습니다
js :
코드는 다음과 같습니다:
var url="http://localhost:2589/a.ashx";
$(function(){
$.getJSON(url,function(data){
alert (data.Name) ;
})
});
서버는 string:
{"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})
The 반환된 문자열은 "jQuery1 706543070425920333_1324445763158 ” function이라는 호출이며 매개변수는 {"Name":"logn","Age":23}입니다.
사실 이 매우 긴 함수 이름은 요청 경로에 있는 callback=?의 함수입니다. $.getJSON 메서드는 콜백 메서드에 대한 참조이름을 생성합니다. 이를 바꾸시겠습니까? . 위 요청은
http://localhost:2589/a.ashx?callback=jQuery1706543070425920333_1324445763158&_=1324445763194가 됩니다. 서버는 json을 반환할 때 이를 처리해야 합니다. 예:
코드는 다음과 같습니다.
문자열 cb = context.Request["callback"];
context.Response.Write(cb + "(" + json + ")")
매개변수 이름 콜백도 jsoncallback으로 대체할 수 있다고 생각합니다. 충돌이 두려워서 jsoncallback이 우선적으로 감지되어야 하며 추가 감지 콜백은 없습니다(테스트되지 않음!!)
? 콜백 함수가 익명이 될 수 없도록 특정 함수 이름일 수도 있습니다. 생성은 일반적인 작업을 위해 jQuery가 제공하는 편의일 뿐입니다.
위 내용은 jquery $.getJSON() 도메인 간 요청의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!