>  기사  >  웹 프론트엔드  >  Jquery가 domains_jquery에서 Json을 얻을 때 잘못된 레이블 오류에 대한 해결 방법

Jquery가 domains_jquery에서 Json을 얻을 때 잘못된 레이블 오류에 대한 해결 방법

WBOY
WBOY원래의
2016-05-16 18:12:17753검색

마지막으로, 진정하고 json 공식 문서를 주의 깊게 읽어보니 다음 단락을 발견했습니다.

JSON 데이터는 JavaScript를 통해 쉽게 파싱할 수 있는 일종의 구조화된 데이터입니다. 획득한 데이터 파일이 원격 서버에 저장되어 있는 경우(다른 도메인 이름, 즉 도메인 간 데이터 수집) jsonp 유형을 사용해야 합니다. 이 유형을 사용하면 요청된 URL에 추가되는 쿼리 문자열 매개변수 callback=?이 생성됩니다. 유효한 JSONP 요청을 완료하려면 서버가 JSON 데이터 앞에 콜백 함수 이름을 추가해야 합니다. 콜백 함수의 매개변수 이름을 지정하여 기본 콜백을 대체하려면 $.ajax()의 jsonp 매개변수를 설정하면 됩니다.

실제로 jquery 크로스 도메인의 원리는 외부 링크를 통해 구현됩니다<script>. 그리고 콜백 함수의 매개변수와 함께 콜백 함수가 추가되어 진정한 크로스 도메인을 구현합니다<br><br> Jquery는 도메인 간에 요청을 보낼 때마다 콜백 매개변수가 있게 됩니다. 실제로 이 매개변수의 값은 콜백 함수의 이름이므로 서버가 json 데이터를 보낼 때 이 매개변수를 넣어야 합니다. 이 매개변수의 값은 jsonp1294734708682와 같이 무작위로 생성되는 경우가 많으며 $.ajax 메소드를 통해 콜백 메소드의 이름을 설정할 수도 있습니다. 원리를 이해한 후 서버는 다음과 같은 데이터를 보내야 합니다: <br><br>string message = "jsonp1294734708682({"userid":0,"username":"null"})" <br><br>이것은 방식으로, json 데이터 {"userid":0,"username":"null"}는 jsonp1294734708682 콜백 함수의 매개변수로 사용됩니다. <br><br>도메인 전체에서 Json을 얻을 때 잘못된 레이블에 대한 해결 방법: <br><br>서버 터미널이 Json 데이터를 출력할 때 콜백 매개변수의 값을 앞에 추가합니다. 예: jsonp1294734708682({"userid":0,"username":"null"})</script>

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