차이점: 1. ajax의 핵심은 xmlHttpRequest를 통해 이 페이지가 아닌 콘텐츠를 얻는 것인 반면, jsonp의 핵심은 서버에서 제공하는 js 스크립트를 호출하기 위해 스크립트 태그를 동적으로 추가하는 것입니다. 2. jsonp는 get 요청만 지원합니다. ajax는 get 및 post 요청을 지원합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
ajax와 jsonp의 호출 방법은 URL을 요청한 다음 서버에서 반환된 데이터를 처리하는 것이 매우 유사합니다. 따라서 jquery 및 ext와 같은 프레임워크는 jsonp를 ajax 형식으로 캡슐화합니다. jsonp와 ajax를 살펴보고 차이점을 소개하겠습니다.
1. Ajax 작동 방식
은 사용자 작업과 서버 응답을 비동기화하기 위해 사용자와 서버 사이에 중간 계층(AJAX 엔진)을 추가하는 것과 같습니다. Ajax 엔진은 사용자 요청에 대해 일부 데이터 확인 및 데이터 처리를 수행합니다. 모든 요청이 서버에 제출되는 것은 아닙니다. 서버에서 새 데이터를 읽어야 할 경우 Ajax 엔진이 대신 서버에 요청을 제출합니다. AJAX의 가장 큰 장점은 전체 페이지를 새로 고치지 않고도 서버와 통신하여 데이터를 유지한다는 점입니다.
프로세스:
1단계: ajax 엔진 객체 생성, IE6은 새로운 ActiveXObject, 다른 브라우저는 새로운 xmlHttpRequest 객체입니다.
2단계: 전송 요청을 시작하기 위해 open 메소드를 호출하고, open 메소드는 세 개의 매개변수를 입력합니다. : 요청 유형, 요청 URL 및 부울 값
3단계: 보내기 메서드를 호출합니다.
4단계: readState = 4(응답 데이터 완료)이고 상태= 응답을 처리하는 경우; 200일 때 데이터(요청 성공).
참고: 콜백 함수는 open() 및 send() 전에 작성해야 합니다.
2. Jsonp 작동 방식
스크립트 태그를 동적으로 생성하고 스크립트 태그의 src 속성을 사용하여 제한 없이 도메인 간 액세스를 달성할 수 있습니다.
웹 클라이언트는 크로스 도메인 서버에서 동적으로 생성된 js 형식 파일(접미사 .json)을 스크립트 호출과 동일하게 호출합니다. 서버에서 동적으로 생성된 json 파일의 목적은 서버에서 필요한 데이터를 로드하는 것입니다. 클라이언트.
사용자가 콜백 매개변수를 서버에 전달한 다음 서버가 데이터를 반환할 때 이 콜백 매개변수를 함수 이름으로 사용하여 json 데이터를 래핑하므로 클라이언트가 자동으로 처리하도록 자체 함수를 맞춤설정할 수 있습니다. 반환된 데이터.
3. Ajax와 jsonp의 차이점
Ajax의 핵심은 xmlHttpRequest를 통해 이 페이지 이외의 콘텐츠를 얻는 것입니다.
jsonp의 핵심은 js를 호출하는 스크립트 태그를 동적으로 추가하는 것입니다. 서버에서 제공하는 스크립트(접미사 .json).
jsonp는 메서드 또는 필수가 아닌 프로토콜이며 ajax는 데이터를 전송하기 위해 반드시 json 형식을 사용할 필요는 없습니다.
jsonp는 get 요청만 지원하고 ajax는 get 및 post 요청을 지원합니다.
【관련 튜토리얼 추천: AJAX 동영상 튜토리얼】
위 내용은 jsonp와 ajax의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!