本篇內(nèi)容主要講解“jqXHR對象公開的屬性和方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“jqXHR對象公開的屬性和方法有哪些”吧!
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),雙遼企業(yè)網(wǎng)站建設(shè),雙遼品牌網(wǎng)站建設(shè),網(wǎng)站定制,雙遼網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,雙遼網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
從 jQuery 1.5 開始,$.ajax()返回的jqXHR對象 實(shí)現(xiàn)了 Promise 接口, 使它擁有了 Promise 的所有屬性,方法和行為。(見Deferred object獲取更多信息)。為了讓回調(diào)函數(shù)的名字統(tǒng)一,便于在$.ajax()中使用。jqXHR也提供.error() .success()和.complete()方法。這些方法都帶有一個(gè)參數(shù),該參數(shù)是一個(gè)函數(shù),此函數(shù)在 $.ajax()請求結(jié)束時(shí)被調(diào)用,并且這個(gè)函數(shù)接收的參數(shù),與調(diào)用 $.ajax()函數(shù)時(shí)的參數(shù)是一致。這將允許你在一次請求時(shí),對多個(gè)回調(diào)函數(shù)進(jìn)行賦值,甚至允許你在請求已經(jīng)完成后,對回調(diào)函數(shù)進(jìn)行賦值(如果該請求已經(jīng)完成,則回調(diào)函數(shù)會被立刻調(diào)用)。
jqXHR.done(function(data, textStatus, jqXHR) {});
一個(gè)可供選擇的 success 回調(diào)選項(xiàng)的構(gòu)造函數(shù),.done()方法取代了的過時(shí)的jqXHR.success()方法。請參閱deferred.done()的實(shí)現(xiàn)細(xì)節(jié)。
jqXHR.fail(function(jqXHR, textStatus, errorThrown) {});
一種可供選擇的 error 回調(diào)選項(xiàng)的構(gòu)造函數(shù),.fail()方法取代了的過時(shí)的.error()方法。請參閱deferred.fail()的實(shí)現(xiàn)細(xì)節(jié)。
jqXHR.always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { });
一種可供選擇的 complete 回調(diào)選項(xiàng)的構(gòu)造函數(shù),.always()方法取代了的過時(shí)的.complete()方法。
在響應(yīng)一個(gè)成功的請求后,該函數(shù)的參數(shù)和.done()的參數(shù)是相同的:data, textStatus, 和 jqXHR 對象.對于失敗的請求,參數(shù)和.fail()的參數(shù)是相同的:jqXHR 對象, textStatus, 和 errorThrown。請參閱deferred.always()的實(shí)現(xiàn)細(xì)節(jié)。
jqXHR.then(function(data, textStatus, jqXHR) {}, function(jqXHR, textStatus, errorThrown) {});
包含了 .done() 和 .fail()方法的功能,(從 jQuery 1.8 開始)允許底層被操縱。請參閱deferred.then()的實(shí)現(xiàn)細(xì)節(jié)。
推薦使用的注意事項(xiàng): jqXHR.success(), jqXHR.error(), 和 jqXHR.complete()回調(diào)從 jQuery 1.8開始 被棄用。他們將最終被取消,您的代碼應(yīng)做好準(zhǔn)備,使用jqXHR.done(), jqXHR.fail(), 和 jqXHR.always() 代替。
// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.ajax( "example.php" )
.done(function() { alert("success"); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); });
// perform other work here ...
// Set another completion function for the request above
jqxhr.always(function() { alert("second complete"); });
this在所有的回調(diào)中的引用,是這個(gè)對象在傳遞給$.ajax的設(shè)置中上下文;如果沒有指定context(上下文),this 引用的是Ajax設(shè)置的本身。
為了向后兼容XMLHttpRequest ,一jqXHR對象將公開下列屬性和方法:
readyState
status
statusText
responseXML and/or responseText 當(dāng)?shù)讓拥恼埱蠓謩e作出XML和/或文本響應(yīng)
setRequestHeader(name, value) 從標(biāo)準(zhǔn)出發(fā),通過替換舊的值為新的值,而不是替換的新值到舊值
getAllResponseHeaders()
getResponseHeader()
abort()
假如沒有onreadystatechange屬性,因?yàn)椴煌臓顟B(tài)可以分別在 success , error , complete和statusCode 方法中進(jìn)行處理。
到此,相信大家對“jqXHR對象公開的屬性和方法有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
文章標(biāo)題:jqXHR對象公開的屬性和方法有哪些
當(dāng)前路徑:http://muchs.cn/article20/jpdjjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站營銷、App開發(fā)、Google、移動網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)