이번에는 ajax 및 jsonp 크로스 도메인(코드 포함)에 대해 자세히 설명합니다. ajax 및 jsonp 크로스 도메인 구현 시 주의 사항은 무엇입니까?
도메인 간 문제가 발생하는 이유는 무엇인가요? - 동일 출처 정책이 있기 때문이죠
동일 출처 정책은 브라우저의 보안 정책입니다. 소위 동일 출처란 요청 URL 주소의 프로토콜이 동일함을 의미합니다.
동일 출처 정책은 주로 브라우저의 보안을 보장하기 위한 것입니다.
동일 출처 정책에 따라 브라우저는 Ajax가 서버 데이터를 얻는 것을 허용하지 않습니다. domains
http://www.example.com/detail.html
교차 도메인 요청:
http://api.example.com/detail.html 도메인 이름이 다릅니다
http://www.example.com:8080/detail.html 포트가 다릅니다
http: //api.example.com:8080/detail.html 도메인 이름과 포트가 다릅니다
https ://api.example.com/detail.html 프로토콜과 도메인 이름이 다릅니다
https://www.example.com:8080/detail.html 포트와 프로토콜이 다릅니다
상호작용의 원리
Ajax 사양 애플리케이션 시나리오
성능 최적화에도 사용할 수 있습니다. 예를 들어 페이지가 너무 커서 한꺼번에 로드할 수 없는 경우입니다. , 롤링 로드 구현
XMLHttpRequest 상호 작용의 4단계
1. XMLHttpRequest 객체 인스턴스화 2. 서버와 상호 작용하려면 서버와의 연결을 열어야 합니다 3 .서버에 데이터를 보내고 서버에 매개 변수 데이터를 보냅니다. 4. 서버에서 반환된 데이터를 수락합니다. 서버에서 변경 사항을 모니터링하면 일부 상태가 반환됩니다. 서버 상태 ajax cross-domain교차 도메인: 내가 사이트를 방문하고 백그라운드에서 A 페이지로 반환된 다음 이 페이지에서 사이트 B의 리소스에 액세스하고 싶다고 가정해 보겠습니다. 사이트 a. 이는 교차 도메인 효과입니다. 교차 도메인 브라우저에는 보안 제한이 있습니다
솔루션·교차 도메인 방식: jsonp 방식
JSONP, 정식 명칭은 JSON with Padding으로, 교차 도메인 요청 리소스를 해결하기 위한 JSON 형식 기반의 솔루션입니다. 구현의 기본 원칙은 HTML의 <script></script> 요소 태그를 사용하여 JSON 파일을 원격으로 호출하여 데이터를 전송하는 것입니다. a.com 도메인 아래 b.com에 존재하는 JSON 데이터(getUsers.JSON)를 가져오려는 경우:
크로스 도메인 문제를 해결하는 jsonp의 기본 원칙: 브라우저의 동일 출처 제한으로 인해 서로 다른 사이트는 서로 액세스할 수 없지만 빠른 데이터를 얻고 싶은 곳에 일기예보 데이터를 추가하는 등 다른 사이트에서 데이터를 얻고 싶을 때가 있습니다. 그러면 어떻게 해야 할까요?
원리: