Jquery jqXHR 대상 의 속성 과 방법
8415 단어 jquery
jQuery 1.5 부터 $. ajax () 방법 은 jQuery 자신의 XML HttpRequest 대상 (일반적으로 jqXHR 로 약칭) 을 되 돌려 줍 니 다.이 는 jQuery 1.5 가 지연 대상 jQuery. Deferred 를 도입 하여 리 셋 함 수 를 더욱 잘 처리 하고 실행 할 수 있 도록 하기 때문이다.
jqXHR 대상 은 jQuery 가 스스로 위조 한 XML HttpRequest 대상 과 $. Deferred 대상 의 결합 체 라 고 간단하게 이해 할 수 있 습 니 다.
jqXHR 는 브 라 우 저 원생 XML HttpRequest 대상 의 초 집합 입 니 다.예 를 들 어 responseText 와 responseXML 속성, getResponseHeader () 방법 도 포함 합 니 다.
전송 메커니즘 이 XMLHttpRequest 대상 과 같 지 않 을 때 (예 를 들 어 < script > 태그 로 JSONP 요청 을 완료 합 니 다) jqXHR 대상 은 가능 한 한 로 컬 XMLHttpRequest 대상 의 기능 을 모 의 합 니 다.
jQuery 1.5.1 부터 jqXHR 대상 도 overrideMimeType () 방법 을 지원 합 니 다 (1.4. x 에서 도 사용 할 수 있 지만 1.5 에서 임시 제거 되 었 습 니 다).overrideMime Type () 방법 은 beforeSend () 의 반전 함수 에 사용 할 수 있 습 니 다. 예 를 들 어 Content - Type 응답 헤드 를 수정 하 는 데 사 용 됩 니 다.
jQuery 1.5 부터 $. ajax () 가 되 돌아 오 는 jqXHR 대상 은 Promise 인 터 페 이 스 를 실 현 했 습 니 다. 모든 속성, 방법 과 행 위 를 포함 합 니 다.따라서, 우 리 는 jqXHR 를 통 해 이번 $. ajax () 에 AJAX 를 연결 하여 대응 하 는 상태 에서 실행 할 수 있 는 리 셋 함 수 를 간단하게 요청 할 수 있 습 니 다.
우 리 는 완전한 jqXHR 대상 을 해부 함으로써 jqXHR 대상 의 속성 과 방법 을 이해한다.
var jqXHR = {
abort: function (statusText){
// ,
},
always: function (){
// ( )
},
complete: function (){
// always() , ( )
},
done: function (){
//
},
error: function (){
// fail() ,
},
fail: function (){
//
},
getAllResponseHeaders: function (){
//
},
getResponseHeader: function (key){
//
},
overrideMimeType: function (type){
// Content-Type
},
pipe: function (){
// then() , 、 、
},
progress: function (){
// Deferred
},
promise: function (obj){
// Promise , Promise
},
readyState: 4, //
responseText: "<!DOCTYPE html><html>......</html>", //
setRequestHeader: function (name, value){
//
},
state: function (){
// Deferred , :"pending"、"resolved"、"rejected"
},
status: 200,
statusCode: function (map){
//
// map :{ 301:function(){}, 404:function(){} }
},
statusText: "OK", //
success: function (){
// done() ,
},
then: function (){
// 、 、
}
};
앞에서 말 했 듯 이, 우 리 는 jqXHR 를 통 해 이번 $. ajax () 에 AJAX 를 연결 하여 대응 하 는 상태 에서 실행 할 수 있 는 리 셋 함 수 를 매우 간단하게 요청 할 수 있 습 니 다.
$. ajax () 방법 이 실행 되면 jqXHR 대상 을 되 돌려 줍 니 다.왜냐하면, 우 리 는 사실 없 을 수 있 기 때문이다 $.ajax () 방법의 매개 변수 에서 리 셋 을 지정 하고 체인 쓰기 로 전환 합 니 다. jqXHR 대상 의 각 방법 으로 리 셋 을 지정 합 니 다.
$. get (), $. post () 같은 쌍 $.ajax () 는 재 포장 방법 을 진행 하 였 습 니 다. 방법 자체 의 매개 변 수 는 error 설정 등 리 셋 을 지원 하지 않 습 니 다. 그러면 우 리 는 위 에서 말 한 방법 으로 이 목적 을 달성 할 수 있 습 니 다.
// 1
$.ajax({
url: '/some.js',
type: 'get',
dataType: 'script'
}).success(function () {
//...
}).error(function () {
//...
})
// 2
$.get('/some.js', function () {
//...
}, 'script').error(function () {
//...
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bootstrap DateTimepicker 예제이 기사에서는 예를 들어 부트스트랩 날짜 시간 선택기를 구현하는 방법을 살펴보겠습니다. 부트스트랩 4 날짜 시간 선택기는 html, php 또는 모든 laravel 파일에서 날짜와 시간을 표시하는 데 사용됩니다. 부...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.