>  기사  >  웹 프론트엔드  >  jquery의 ajax 도메인 간 요청 원칙 및 example_jquery

jquery의 ajax 도메인 간 요청 원칙 및 example_jquery

WBOY
WBOY원래의
2016-05-16 16:49:291063검색

오늘 프로젝트에서는 원격 데이터를 로드하고 페이지를 렌더링해야 했습니다. 개발 단계까지 Jquery가 Ajax 크로스 도메인에 대한 솔루션을 언급한 것을 막연하게 기억했습니다. 도메인 요청이 있어서 바로 Jquery의 The API를 조사해서 찾아보니
JQuery에는 Ajax 크로스 도메인 요청에 대해 두 가지 유형의 솔루션이 있지만 둘 다 get 메서드만 지원한다는 사실을 발견했습니다. JQuery의 jquery.ajax jsonp 형식과 jquery.getScript 메서드입니다.

jsonp 형식이란 무엇인가요? API 원본 텍스트: 획득한 데이터 파일이 원격 서버에 저장되어 있는 경우(다른 도메인 이름, 즉 교차 도메인 데이터 획득) jsonp 유형을 사용해야 합니다. 이 유형을 사용하면 요청된 URL에 추가되는 쿼리 문자열 매개변수 callback=?이 생성됩니다. 유효한 JSONP 요청을 완료하려면 서버가 JSON 데이터 앞에 콜백 함수 이름을 추가해야 합니다. 이는 원격 서버가 클라이언트가 제출한 콜백 매개변수에 따라 반환된 데이터를 처리하고 콜백(json) 데이터를 반환해야 하며, 클라이언트는 반환된 데이터를 처리하여 json 데이터를 처리해야 함을 의미합니다. JQuery.getJSON은 jsonp 데이터 메서드 호출도 지원합니다.

클라이언트측 JQuery.ajax 호출 코드 예:

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

$.ajax({
type : "get ",
async:false,
url : "http://www.xxx.com/ajax.do",
dataType : "jsonp",
jsonp: "callbackparam" ,// 콜백 호출의 함수 이름을 받기 위해 서버에서 사용하는 매개변수
jsonpCallback: "success_jsonpCallback", //콜백의 함수 이름
success: function(json){
alert( json)
alert( json[0].name);
error:function(){
alert('fail')
}
});

서버에서 반환된 데이터의 샘플 코드:

코드 복사 코드는 다음과 같습니다.
public void ProcessRequest(HttpContext 컨텍스트) {
context .Response.ContentType = "text/plain";
String callbackFunName = context.Request["callbackparam"]
context.Response.Write(callbackFunName "([ { name:"John"}] )") ;
}

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