2010-06-13 3 views
4

가능한 중복 :
Please explain JSONPJSON과 JSONP의 차이점은 무엇입니까?

가 jQuery를 문서의 예를 들어 내가 JSON과 JSONP 모두 언급 찾을 수 있습니다. 차이가 정확히 무엇입니까? 어떤 것이 어느 것을 볼 수 있습니까? 어떤 것을 사용해야합니까?

그리고 PHP 함수 json_encode은 무엇을 생성합니까?

+1

기본/미묘한 차이점에 대해 wikipedia는 훌륭한 자료입니다. http://en.wikipedia.org/wiki/JSON#JSONP –

+1

[Please explain JSONP] (http://stackoverflow.com/questions/)를 참조하십시오. 2067472/please-explain-jsonp) –

답변

6

JSON은 간단한 데이터 형식입니다. JSONP은 도메인 간 ajax 요청에서 해당 형식을 사용하는 동안 Same Origin Policy 문제가 발생하지 않는 방법입니다. 기본적으로 아약스를 사용하여 JSON 인코딩 데이터를 요청하는 대신 JavaScript 스크립트로 데이터를로드하는 스크립트 태그를 페이지에 추가하고 "여기에 데이터가있다"라는 코드를 콜백합니다. 이는 JavaScript 스크립트에 적용된 "출처"가 스크립트의 출처가 아닌 문서의 출처이기 때문에 작동합니다. 즉, 콜백을 호출하기 위해 코드에 액세스 할 수 있습니다.

json_encode은 JSON을 생성합니다. 도메인 간 호출을 활성화해야하는 경우 json_encode을 사용하여 시스템에 JSONP 인터페이스를 제공 할 수 있습니다.

CORS도 참조하십시오. 앞으로 더 많이 사용할 수 있지만 IE에서는 아직 지원되지 않습니다 (IE7 이하에서는 전혀 지원하지 않지만 IE8에서는 필요합니다. 클라이언트 측 코드는 특별한 일을하지만, Chrome, Firefox 등은 클라이언트 측 코드가 특별한 일을 할 필요가 없다.)

관련 문제