이번에는 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 포트와 프로토콜이 다릅니다
- 동기 상호 작용: 클라이언트 브라우징 서버는 서버에 요청을 보내고 서버는 페이지를 반환합니다. 이전 페이지 덮어쓰기를 동기식 상호작용이라고 부릅니다.
- 비동기식 상호작용: 이는 브라우저가 서버에 페이지를 요청하고, 서버는 데이터를 반환하며, 반환된 데이터는 이전 페이지를 덮어쓰지 않음을 의미합니다. 우리는 이 상호작용 방법을 비동기식 상호작용이라고 부릅니다
상호작용의 원리
- 동기식 상호작용의 원리: 어떻게 하는가 브라우저에서 서버에 요청을 보내나요? 하이퍼링크를 클릭하고 양식을 제출하고 브라우저 주소 표시줄에 주소를 입력하면 서버에 요청을 보낼 수 있습니다. 실제로 브라우저는 서버에 요청을 보내는 데 도움이 됩니다
- 비동기 원칙. 상호 작용: JavaScript는 새로운 기능을 제공합니다. API 인터페이스는 http 요청을 보내는 데 도움이 되고 XMLHttpRequest 개체는 요청을 보내는 데 도움이 됩니다
Ajax 사양 애플리케이션 시나리오
- 프런트 데스크는 XMLHttpRequest를 통해 서버에 요청을 보낸 다음 XMLHttpRequest 개체를 통해 서버에서 반환된 데이터를 수신하고 마지막으로 DOM 작업을 통해 데이터를 페이지에 쓸 수 있습니다.
- ajax: 양식 입력에 사용할 수 있습니다. 사양 확인
- 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의 기본 원칙: 브라우저의 동일 출처 제한으로 인해 서로 다른 사이트는 서로 액세스할 수 없지만 빠른 데이터를 얻고 싶은 곳에 일기예보 데이터를 추가하는 등 다른 사이트에서 데이터를 얻고 싶을 때가 있습니다. 그러면 어떻게 해야 할까요?
원리: <script> 태그를 동적으로 생성한 다음 <script>의 src를 사용하여 동일 출처 정책의 적용을 받지 않고 도메인 간 데이터를 얻는 것입니다. </script>
이렇게 하면 프론트에서 전달한 콜백 함수를 백그라운드에서 얻을 수 있습니다. 마지막으로 백그라운드에서 이 함수의 호출을 반환하고, 매개변수는 프론트에서 요청한 데이터입니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
도메인 간 json 데이터를 얻기 위해 ajax를 사용하는 방법
ajax 요청 오류 상태 코드가 0
일 때 해야 할 일위 내용은 ajax 및 jsonp 크로스 도메인에 대한 자세한 설명(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
