도 메 인 을 뛰 어 넘 는 JSONP

1160 단어
도 메 인 을 뛰 어 넘 는 JSONP
무엇이 크로스 필드 입 니까?
클 라 이언 트 와 서버 간 에 데 이 터 를 요청 할 때 같은 소스 정책 제한 을 바탕 으로 하 는 안전 을 고려 하여 도 메 인 을 넘 어 접근 할 수 없습니다. 도 메 인 이란 데 이 터 를 요청 할 때 도 메 인 이름, 프로 토 콜, 포트 번호 가 다 르 면 도 메 인 으로 간 주 됩 니 다.
JSONP 의 기본 원리
JSONP 는 리 셋 함수 와 데이터 두 부분 으로 구성 되 어 있 으 며 리 셋 함 수 는 응답 이 돌아 올 때 페이지 에서 호출 해 야 하 는 함수 입 니 다. 이 리 셋 함수 의 이름 은 보통 요청 할 때 지정 합 니 다.데 이 터 는 리 셋 함수 에 들 어 오 는 JSON 데이터 입 니 다.JSONP 는 함수 호출 에 포 함 된 JSON 입 니 다.  기본 원리: 태그 의 'src' 속성 을 이용 하여 도 메 인 제한 이 없습니다.
프로 세 스
  • 클 라 이언 트 에서 함수 1 개 를 정의 합 니 다. demo (data) 매개 변 수 는 서버 가 돌아 온 데이터
  • 입 니 다.
  • src 속성 을 이용 하여 크로스 도 메 인 제한 없 이 요청 을 보 내 고 미리 정 의 된 리 셋 함수 이름 을 QueryString 방식 으로 서버 에 전달 합 니 다.  예 를 들 면 (http://api.douban.com/v2/subject/1109867?callback=demo)
  • 서버 는 $GET ["callback"] 를 통 해 전달 하 는 함수 이름 을 얻 은 다음 에 데이터 처 리 를 통 해 처리 한 데 이 터 를 다음 과 같이 가정 할 수 있 습 니 다.  [{id:1,name:”jack”,age:12},{id:2,name:”rose”,age:15}]  그러면 되 돌아 오 는 데이터:  demo([{id:1,name:”jack”,age:12},{id:2,name:”rose”,age:15}])  4. 서버 에서 되 돌아 온 데 이 터 를 JS 코드 로 처리  demo 함 수 를 호출 하여 서버 에서 돌아 온 데 이 터 를 demo () 함수 내부 에 전송 하여 처리 합 니 다
  • 좋은 웹페이지 즐겨찾기