>  기사  >  웹 프론트엔드  >  내 jQuery AJAX JSONP 요청이 교차 도메인 소스에서 데이터를 반환하지 못하는 이유는 무엇입니까?

내 jQuery AJAX JSONP 요청이 교차 도메인 소스에서 데이터를 반환하지 못하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-19 08:51:02629검색

Why is my jQuery AJAX JSONP request failing to return data from a cross-domain source?

jQuery를 사용하여 도메인 간 AJAX JSONP 요청 만들기

문제 설명

제공된 코드로 jQuery AJAX를 사용하여 JSON 배열 데이터를 구문 분석하려고 할 때, 사용자가 어떤 출력도 받지 못하고 있습니다.

개념 설명

교차 도메인 AJAX 호출에서는 웹 서비스가 JSONP가 작동하기 위한 메서드 삽입을 지원해야 합니다. 클라이언트 코드는 유효한 것 같지만 문제는 웹 애플리케이션 및 웹 서비스의 도메인에 있을 수 있습니다.

jQuery의 dataType: 'jsonp'를 사용할 때 매개변수 ?callback={some_random_dynamically_generated_method}가 쿼리 URL. 이 메서드는 다음과 유사하게 창 개체에서 프록시 역할을 합니다.

window.some_random_dynamically_generated_method = function(actualJsonpData) {
  successCallback(actualJsonData); // Calls the success function passed to $.ajax
}

서버측 수정

문제를 해결하려면 서버측 코드를 수정하여 JSON을 래핑해야 합니다. 쿼리 문자열과 함께 전달된 것과 일치하는 함수 이름의 데이터입니다. 예를 들어 쿼리 문자열에 ?callback=my_callback_method가 포함된 경우 서버의 응답은 다음과 같아야 합니다.

my_callback_method({your json serialized data})

위 내용은 내 jQuery AJAX JSONP 요청이 교차 도메인 소스에서 데이터를 반환하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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