談?wù)凧query ajax中success和complete有哪些不同點(diǎn)
廢話不多說了,先給大家貼一段代碼看看吧,
$.ajax({ type: "post", url: url, dataType:'html', success: function(data) { }, complete: function(XMLHttpRequest, textStatus) { }, error: function(){} });
success : 當(dāng)請(qǐng)求成功時(shí)調(diào)用的函數(shù)。這個(gè)函數(shù)會(huì)得到一個(gè)參數(shù):從服務(wù)器返回的數(shù)據(jù)。當(dāng)請(qǐng)求成功時(shí)調(diào)用函數(shù),即status==200。
complete :當(dāng)請(qǐng)求完成時(shí)調(diào)用的函數(shù)。這個(gè)函數(shù)會(huì)得到兩個(gè)參數(shù):XMLHttpRequest對(duì)象和一個(gè)描述請(qǐng)求成功的類型的字符串。當(dāng)請(qǐng)求完成時(shí)調(diào)用函數(shù),即status==404、403、302...。
所以,在寫success或者complete的方法時(shí),注意傳入的參數(shù),和使用傳進(jìn)來參數(shù)對(duì)象來解決我們的問題
參數(shù)列表:
參數(shù)名 | 類型 | 描述 |
url | String | (默認(rèn): 當(dāng)前頁地址) 發(fā)送請(qǐng)求的地址。 |
type | String | (默認(rèn): "GET") 請(qǐng)求方式 ("POST" 或 "GET"), 默認(rèn)為 "GET"。注意:其它 HTTP 請(qǐng)求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。 |
timeout | Number | 設(shè)置請(qǐng)求超時(shí)時(shí)間(毫秒)。此設(shè)置將覆蓋全局設(shè)置。 |
async | Boolean | (默認(rèn): true) 默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。 |
beforeSend | Function | 發(fā)送請(qǐng)求前可修改 XMLHttpRequest 對(duì)象的函數(shù),如添加自定義 HTTP 頭。XMLHttpRequest 對(duì)象是唯一的參數(shù)。function (XMLHttpRequest) { this; // the options for this ajax request } |
cache | Boolean | (默認(rèn): true) jQuery 1.2 新功能,設(shè)置為 false 將不會(huì)從瀏覽器緩存中加載請(qǐng)求信息。 |
complete | Function | 請(qǐng)求完成后回調(diào)函數(shù) (請(qǐng)求成功或失敗時(shí)均調(diào)用)。參數(shù): XMLHttpRequest 對(duì)象,成功信息字符串。function (XMLHttpRequest, textStatus) { this; // the options for this ajax request } |
contentType | String | (默認(rèn): "application/x-www-form-urlencoded") 發(fā)送信息至服務(wù)器時(shí)內(nèi)容編碼類型。默認(rèn)值適合大多數(shù)應(yīng)用場(chǎng)合。 |
data | Object, String |
發(fā)送到服務(wù)器的數(shù)據(jù)。將自動(dòng)轉(zhuǎn)換為請(qǐng)求字符串格式。GET 請(qǐng)求中將附加在 URL 后。查看 processData 選項(xiàng)說明以禁止此自動(dòng)轉(zhuǎn)換。必須為 Key/Value 格式。如果為數(shù)組,jQuery 將自動(dòng)為不同值對(duì)應(yīng)同一個(gè)名稱。如 {foo:["bar1", "bar2"]} 轉(zhuǎn)換為 '&foo=bar1&foo=bar2'。 |
dataType | String |
預(yù)期服務(wù)器返回的數(shù)據(jù)類型。如果不指定,jQuery 將自動(dòng)根據(jù) HTTP 包 MIME 信息返回 responseXML 或 responseText,并作為回調(diào)函數(shù)參數(shù)傳遞,可用值: "xml": 返回 XML 文檔,可用 jQuery 處理。 "html": 返回純文本 HTML 信息;包含 script 元素。 "script": 返回純文本 JavaScript 代碼。不會(huì)自動(dòng)緩存結(jié)果。 "json": 返回 JSON 數(shù)據(jù) 。 "jsonp": JSONP 格式。使用 JSONP 形式調(diào)用函數(shù)時(shí),如 "myurl?callback=?" jQuery 將自動(dòng)替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。 |
error | Function | (默認(rèn): 自動(dòng)判斷 (xml 或 html)) 請(qǐng)求失敗時(shí)將調(diào)用此方法。這個(gè)方法有三個(gè)參數(shù):XMLHttpRequest 對(duì)象,錯(cuò)誤信息,(可能)捕獲的錯(cuò)誤對(duì)象。function (XMLHttpRequest, textStatus, errorThrown) { // 通常情況下textStatus和errorThown只有其中一個(gè)有值 this; // the options for this ajax request } |
global | Boolean | (默認(rèn): true) 是否觸發(fā)全局 AJAX 事件。設(shè)置為 false 將不會(huì)觸發(fā)全局 AJAX 事件,如 ajaxStart 或 ajaxStop ??捎糜诳刂撇煌腁jax事件 |
ifModified | Boolean | (默認(rèn): false) 僅在服務(wù)器數(shù)據(jù)改變時(shí)獲取新數(shù)據(jù)。使用 HTTP 包 Last-Modified 頭信息判斷。 |
processData | Boolean | (默認(rèn): true) 默認(rèn)情況下,發(fā)送的數(shù)據(jù)將被轉(zhuǎn)換為對(duì)象(技術(shù)上講并非字符串) 以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded"。如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息,請(qǐng)?jiān)O(shè)置為 false。 |
success | Function | 請(qǐng)求成功后回調(diào)函數(shù)。這個(gè)方法有兩個(gè)參數(shù):服務(wù)器返回?cái)?shù)據(jù),返回狀態(tài)function (data, textStatus) { // data could be xmlDoc, jsonObj, html, text, etc... this; // the options for this ajax request } |
好了,由于時(shí)間原因,本文先給大家介紹到這里,希望本文分享能夠給大家?guī)盱`感,幫助大家更好的學(xué)習(xí)javascript ajax success complete相關(guān)知識(shí)。
- jQuery Ajax Post 回調(diào)函數(shù)不執(zhí)行問題的解決方法
- jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行
- 使用jQuery中的when實(shí)現(xiàn)多個(gè)AJAX請(qǐng)求對(duì)應(yīng)單個(gè)回調(diào)的例子分享
- Jquery版本導(dǎo)致Ajax不執(zhí)行success回調(diào)函數(shù)
- jquery ajax的success回調(diào)函數(shù)中實(shí)現(xiàn)按鈕置灰倒計(jì)時(shí)
- jQuery Tips 為AJAX回調(diào)函數(shù)傳遞額外參數(shù)的方法
- jQuery AJAX回調(diào)函數(shù)this指向問題
- jquery ajax提交表單數(shù)據(jù)的兩種方式
- jquery實(shí)現(xiàn)ajax提交form表單的方法總結(jié)
- JQuery AJAX提交中文亂碼的解決方案
- jQuery+ajax的資源回收處理機(jī)制分析
相關(guān)文章
3Z版基于jquery的圖片復(fù)選框(asp.net+jquery)
最近在做一個(gè)彩票縮水工具,找了幾個(gè)圖片復(fù)選框插件始終感覺不太滿意,自己動(dòng)手山寨了一下imageTick插件.2010-04-04jQuery Migrate 1.1.0 Released 注意事項(xiàng)
jQuery開發(fā)團(tuán)隊(duì)前一段時(shí)間發(fā)布了jQuery 1.9版本,刪除了1.8版本中的部分API,為了使前端開發(fā)者能夠順利遷移至該版本,該團(tuán)隊(duì)還發(fā)布了遷移插件jQuery Migrate2014-06-06jQuery插件FusionCharts實(shí)現(xiàn)的3D帕累托圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件FusionCharts實(shí)現(xiàn)的3D帕累托圖效果,結(jié)合實(shí)例形式分析了jQuery使用FusionCharts載入xml數(shù)據(jù)繪制3D帕累托圖的相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery動(dòng)畫效果-fadeIn fadeOut淡入淺出示例代碼
jQuery動(dòng)畫效果淡入淺出想必大家都有見到過吧,其實(shí)很很簡單,通過fadeIn fadeOut方法便可輕松實(shí)現(xiàn),具體如下,喜歡的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08Django中使用jquery的ajax進(jìn)行數(shù)據(jù)交互的實(shí)例代碼
這篇文章主要介紹了Django中使用jquery的ajax進(jìn)行數(shù)據(jù)交互的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值 ,需要的朋友可以參考下2017-10-10JQuery實(shí)現(xiàn)自定義對(duì)話框的代碼
JavaScript為我們提供幾種對(duì)話框功能,但功能都十分有限;雖然在IE下可以通過模式窗體的方式創(chuàng)建更豐富的對(duì)話框功能,但畢竟只有IE得到支持。2008-06-06多種JQuery循環(huán)滾動(dòng)文字圖片效果代碼
這篇文章主要為大家提供了多種JQuery循環(huán)滾動(dòng)文字圖片效果代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02