jsonp callback 예제

예를 들어 JSONP는 도메인 간 GET 요청만 수행할 수 있으며 서버는 명시적으로 이를 지원해야 합니다. JSONP는 또한 보안 문제가 없는 것은 아니므로 다른 해결책을 간단히 살펴보겠습니다. php 파일은 콜백 매개 변수로 전달하는 함수를 호출합니다 : jQuery는 JSONP 의 모든 복잡한 측면을 처리합니다 – 우리가해야 할 일은 JQL (이 경우 “콜백”)에 의해 지정된 JSONP 콜백 매개 변수의 이름을 jQuery에게 알려주기만하면됩니다. 전체 프로세스는 정상적인 Ajax 요청처럼 보이고 느껴집니다. 서버 측 코드는 동일한 원본 정책에 구속되지 않으며 문제 없이 원본 간 요청을 수행할 수 있습니다. 따라서 일종의 프록시를 만들고 필요한 데이터를 검색하는 데 사용할 수 있습니다. 첫 번째 예제: 일반적으로 이 정책에 따르면 프로토콜(예: http), 포트 번호(예: 80) 및 호스트(예: example.com)가 데이터가 요청되는 위치와 다른 경우 허용해서는 안 됩니다. php 파일에 JSON을 전송하여 예제를 동으로 만들고 php 파일이 얻는 정보에 따라 JSON 개체를 반환하도록 합니다. 또한 JSONP를 통해 다양한 서비스에서 다양한 콘텐츠를 끌어들일 수 있습니다.

많은 유명 사이트는 미리 정의된 API를 통해 콘텐츠에 액세스할 수 있도록 JSONP 서비스(예: 플리커)를 제공합니다. 프로그램 가능한 웹 API 디렉터리에서 포괄적인 목록을 찾을 수 있습니다. 1 단계 – 콜백 함수를 만들어야합니다. 함수는 일부 데이터를 허용합니다. 다음 코드와 마찬가지로 위의 2 코드는 JSON을 래핑하는 함수 호출 jsonpcallback ()입니다. 다행히도 모든 것이 동일한 원산지 정책의 영향을 받는 것은 아닙니다. 예를 들어 다른 도메인의 이미지 나 스크립트를 페이지에 로드할 수 있습니다.이 방법은 CDN에서 jQuery(예: )를 포함할 때 수행하는 작업입니다. 그러나이 방법은 단점이 있습니다.

예를 들어 타사 사이트에서 인증을 위해 쿠키를 사용하는 경우 이 작업은 작동하지 않습니다. 일부 제3자 API를 사용하면 요청이 반환될 때 실행해야 하는 콜백 함수의 이름을 지정할 수 있습니다. 이러한 API 중 하나는 GitHub API입니다. 이전 예제에서 어떻게 보일지 살펴보겠습니다. 다음은 jsonCallback 함수에서 원래 JSON 데이터를 래핑하는 업데이트 된 JSON 파일입니다. 콜백 함수는 JSON 데이터를 수신하는 전역 함수여야 합니다. 이 JSONP 파일 위치는 다음과 같습니다: http://www.demo.yogihosting.com/jquery/jsonp/data1.json 별도의 브라우저 창에서 위의 JSONP 예제의 출력보기입니다.

Comments

comments