$.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中文網其他相關文章!