首頁  >  文章  >  web前端  >  jQuery.ajax中success 和complete 區別

jQuery.ajax中success 和complete 區別

巴扎黑
巴扎黑原創
2018-05-14 15:05:301911瀏覽

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

success : 當請求成功時呼叫的函數。這個函數會得到一個參數:從伺服器傳回的資料。當請求成功時呼叫函數,即status==200。
complete :當請求完成時呼叫的函數。這個函數會得到兩個參數:XMLHttpRequest物件和一個描述請求成功的類型的字串。當請求完成時呼叫函數,即status==404、403、302...。

所以,在寫success或complete的方法時,注意傳入的參數,和使用傳入參數物件來解決我們的問題

參數清單:

參數名稱 類型 描述
#url String (預設: 目前頁位址) 傳送請求的位址。
type String #(預設: "GET") 請求方式("POST" 或"GET") , 預設為"GET"。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支援。
timeout Number #設定請求逾時時間(毫秒)。此設定將覆蓋全域設定。
async Boolean (預設: true) 預設設定下,所有請求均為非同步請求。如果需要傳送同步請求,請將此選項設為 false。注意,同步請求將鎖住瀏覽器,使用者其它操作必須等待請求完成才可以執行。
beforeSend Function 可修改 XMLHttpRequest 在傳送請求前物件的函數,例如新增自訂 HTTP 頭。 XMLHttpRequest 物件是唯一的參數。
function (XMLHttpRequest) {         this; // the options for this ajax request
         }
cache Boolean (預設: true) jQuery 1.2 新功能,設定為false 將不會從瀏覽器快取載入請求資訊
complete Function 請求完成後回呼函數 (請求成功或失敗時均調用)。參數: XMLHttpRequest 對象,成功資訊字串。
function (XMLHttpRequest, textStatus) {         this; // the options for this ajax request
         }
contentType #String (預設: "application/x-www-form-urlencoded" ) 發送訊息至伺服器時內容編碼類型。預設值適合大多數應用程式場合。
data Object,
String
傳送到伺服器的資料。將自動轉換為請求字串格式。 GET 請求中將附加在 URL 後。查看 processData 選項說明以禁止此自動轉換。必須為 Key/Value 格式。如果為數組,jQuery 將自動為不同值對應同一個名稱。如 {foo:["bar1", "bar2"]} 轉換為 '&foo=bar1&foo=bar2'。
dataType String

#預期伺服器傳回的資料類型。如果不指定,jQuery 將自動根據HTTP 包MIME 資訊返回responseXML 或responseText,並作為回調函數參數傳遞,可用值:

"xml": 返回XML 文檔,可用jQuery 處理。

"html": 傳回純文字 HTML 資訊;包含 script 元素。

"script": 傳回純文字 JavaScript 程式碼。不會自動快取結果。

"json": 傳回 JSON 資料 。

"jsonp": JSONP 格式。使用 JSONP 形式呼叫函數時,如 "myurl?callback=?" 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中success 和complete 區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn