>웹 프론트엔드 >JS 튜토리얼 >json 및 jsonp 사용 요약

json 및 jsonp 사용 요약

php中世界最好的语言
php中世界最好的语言원래의
2018-04-24 17:21:301267검색

이번에는 json과 jsonp의 사용법을 정리해보겠습니다. json과 jsonp를 사용할 때 주의사항은 무엇인가요? ㅋㅋㅋ

③ 논리값(true 또는 false) 4 ​​배열(대괄호 안)

⑤ 객체(중괄호 안) ⑥ null

2.json 구문 분석 방법

1 eval('(' + jsondata + ')' ); 코드 삽입은 항상 안전하지 않습니다.

② JSON.parse(jsondata);

JSONLint json: 문자열 확인 도구

3. jQuery는 ajax([ settings])

type: 유형

url: 요청을 보낼 주소

data: 요청과 함께 서버로 전송된 데이터와 함께 개체입니다.

dataType: 반환될 것으로 예상되는

데이터 유형

서버에서 지정하지 않으면 jQuery는 HTTP 패키지의 MIME 정보를 기반으로 자동으로 지능적인 판단을 내립니다. 일반적으로 "json"으로 설정할 수 있는 json 형식을 사용합니다. 요청이 성공하면

콜백 함수

가 반환된 데이터에 전달됩니다. 그리고 성공 코드

error:가 포함된 문자열이 메서드이며, 이 함수는 요청이 실패할 때 호출됩니다. XMLHttpRequest 객체를 전달하세요

jsonp

Cross-domain

도메인 이름 주소 구성:

http://www .abc.com :8080/scripts/jquery.js

프로토콜:// 하위 도메인 이름. 메인 도메인 이름: 포트 번호/요청한 리소스 주소

프로토콜, 하위 도메인 이름, 메인 도메인 이름, 포트 번호 중 하나라도 동시에 사용할 수 없는 경우 모두 다르게 간주됩니다. domains

서로 다른 도메인 간에 리소스를 요청하는 것은 "도메인 간"으로 간주됩니다. 도메인”

javascript 보안상의 이유로 다른 페이지의 개체에 대한 도메인 간 호출은 허용되지 않습니다.

교차 도메인이란 무엇인가요? 간단히 설명하자면, JavaScript 상동성 정책의 제한으로 인해 a.com 도메인 이름의 js는 b.com 또는 c.a.com 도메인 이름의 개체를 작동할 수 없다는 것입니다.

교차 도메인 처리 방법:

—— 프록시(백그라운드 기술에 속함) 예를 들어 북경의 웹 서버 백그라운드에서 상하이 서버의 서비스를 호출하고 응답 결과를 확인한 후 프론트엔드에 반환하여 프론트엔드에서 해당 서버를 호출하도록 한다. 베이징에서 동일한 도메인 이름을 사용하며 상하이에서 서비스를 호출하는 것과 동일한 효과를 갖습니다.

—— JSONP

a 선언할 도메인 이름, b 호출할 도메인 이름

참고: JSONP는 GET 요청에만 사용할 수 있으며

POST 요청

(제한 사항)

을 지원하지 않습니다.——XHR2에서 제공하는 XMLHttpRequest Level2

HTML5 도메인 간 액세스 및 기타 새로운 기능이 구현되었습니다.

IE10 이하 버전은 지원되지 않습니다.

서버 측에서 약간만 수정하면 됩니다.

header("Access-Control-Allow-Origin:") ; 는 모든 서버에 접속할 수 있거나 특정 도메인 이름으로 대체할 수 있음을 의미합니다. 예: 서버가 상하이에 있으면 *는 베이징 서버의 도메인 이름으로 대체되므로 베이징 도메인 이름에만 액세스할 수 있습니다

header("Access-Control- Allow-Methods:POST,GET");

jsonp의 장점과 단점에 대해 이야기해 보겠습니다.

동일 출처 정책: JavaScript는 해당 콘텐츠가 포함된 문서와 동일한 도메인에 있는 콘텐츠에만 액세스할 수 있습니다. jsonp는 동일한 원본 정책에 걸쳐 있을 수 있습니다. jsonp를 사용하면 통신을 위한 또 다른 프로토콜이 됩니다.

JSONP의 장점은 다음과 같습니다. XMLHttpRequest 객체로 구현된 Ajax 요청과 같은 동일한 원본 정책에 의해 제한되지 않습니다. 호환성이 더 좋고 XMLHttpRequest 또는 ActiveX 지원 없이 이전 브라우저에서 실행할 수 있습니다. , 콜백을 호출하여 결과를 반환할 수 있습니다.

JSONP의 단점은 GET 요청만 지원하고 POST와 같은 다른 유형의 HTTP 요청은 지원하지 않으며 도메인 간 HTTP 요청만 지원하고 서로 다른 도메인의 두 페이지 간에 JavaScript 호출을 만드는 방법을 해결할 수 없다는 것입니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

jquery에서 ajax 실행 순서 조정

Ajax 및 $.ajax 인스턴스에 대한 자세한 설명

jQuery가 모니터링 페이지에 대한 ajax 요청을 만드는 방법

위 내용은 json 및 jsonp 사용 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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