>웹 프론트엔드 >JS 튜토리얼 >jQuery.ajax에서 성공과 완료의 차이점

jQuery.ajax에서 성공과 완료의 차이점

巴扎黑
巴扎黑원래의
2018-05-14 15:05:301941검색

$.ajax({
      type: "post",
      url: url,
      dataType:'html',
      success: function(data) { },
     complete: function(XMLHttpRequest, textStatus) { },
     error: function(){}
});

success: 요청이 성공하면 호출되는 함수입니다. 이 함수는 하나의 매개변수, 즉 서버에서 반환된 데이터를 가져옵니다. 요청이 성공하면 함수가 호출됩니다(예: 상태==200).
complete: 요청이 완료되면 호출되는 함수입니다. 이 함수는 두 개의 매개변수, 즉 XMLHttpRequest 객체와 요청 성공 유형을 설명하는 문자열을 가져옵니다. 요청이 완료되면 함수가 호출됩니다(예: status==404, 403, 302...).

그래서 성공 또는 완료 메소드를 작성할 때 전달된 매개변수에 주의하고 전달된 매개변수 객체를 사용하여 문제를 해결하세요.

매개변수 목록:

String(기본값: "application/x-www-form-urlencoded") 서버에 정보를 보낼 때 콘텐츠 인코딩 유형입니다. 기본값은 대부분의 애플리케이션에 적합합니다. Object,데이터가 서버로 전송되었습니다. 요청 문자열 형식으로 자동 변환됩니다. GET 요청의 URL에 추가됩니다. 이 자동 변환을 비활성화하려면 processData 옵션 설명을 참조하세요. 키/값 형식이어야 합니다. 배열인 경우 jQuery는 자동으로 동일한 이름을 다른 값에 할당합니다. 예를 들어, {foo:["bar1", "bar2"]}는 '&foo=bar1&foo=bar2'로 변환됩니다. String
매개변수 이름 type Description
url String (기본값: 현재 페이지 주소) 요청을 보낼 주소입니다.
type String (기본값: "GET") 요청 방법("POST" 또는 "GET"), 기본값은 "GET"입니다. 참고: PUT 및 DELETE와 같은 다른 HTTP 요청 방법도 사용할 수 있지만 일부 브라우저에서만 지원됩니다.
timeout Number 요청 시간 초과(밀리초)를 설정합니다. 이 설정은 전역 설정보다 우선 적용됩니다.
async Boolean (기본값: true) 기본적으로 모든 요청은 비동기 요청입니다. 동기 요청을 보내야 하는 경우 이 옵션을 false로 설정하세요. 동기 요청은 브라우저를 잠그며 사용자는 다른 작업을 수행하기 전에 요청이 완료될 때까지 기다려야 합니다.
beforeSend Function 사용자 정의 HTTP 헤더 추가와 같이 요청을 보내기 전에 XMLHttpRequest 개체를 수정할 수 있는 함수입니다. XMLHttpRequest 객체가 유일한 매개변수입니다.
function (XMLHttpRequest) {         this; // the options for this ajax request
         }
cache Boolean (기본값: true) jQuery 1.2의 새로운 기능, false로 설정하면 브라우저 캐시에서 요청 정보가 로드되지 않습니다.
완료 Function 콜백 함수 요청 완료 후(요청 성공 또는 실패 시 호출) 매개변수: XMLHttpRequest 객체, 성공 정보 문자열.
function (XMLHttpRequest, textStatus) {         this; // the options for this ajax request
         }

contentType
data String
dataType 서버에서 반환할 것으로 예상되는

데이터 유형입니다. 지정하지 않으면 jQuery는 HTTP 패킷 MIME 정보를 기반으로 responseXML 또는 responseText를 자동으로 반환하고 이를 콜백 함수 매개변수로 전달합니다. 사용 가능한 값:

"xml": jQuery에서 처리할 수 있는 XML 문서를 반환합니다.

"html": 스크립트 요소가 포함된 일반 텍스트 HTML 정보를 반환합니다.

"script": 일반 텍스트 JavaScript 코드를 반환합니다. 결과는 자동으로 캐시되지 않습니다.

"json": JSON 데이터를 반환합니다.

"jsonp": JSONP 형식. 사용 "myurl?callback=?"과 같은 JSONP 형식의 함수를 호출하면 jQuery는 자동으로 ?를 올바른 함수 이름으로 대체하여 콜백 함수를 실행합니다.

error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
function (XMLHttpRequest, textStatus, errorThrown) {         // 通常情况下textStatus和errorThown只有其中一个有值 
         this; // the options for this ajax request
         }
global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
function (data, textStatus) {         // data could be xmlDoc, jsonObj, html, text, etc...
         this; // the options for this ajax request
         }

위 내용은 jQuery.ajax에서 성공과 완료의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.