Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the properties and methods exposed by the jqXHR object

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/01 Report--

本篇内容主要讲解"jqXHR对象公开的属性和方法有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"jqXHR对象公开的属性和方法有哪些"吧!

从 jQuery 1.5 开始,$.ajax()返回的jqXHR对象 实现了 Promise 接口, 使它拥有了 Promise 的所有属性,方法和行为。(见Deferred object获取更多信息)。为了让回调函数的名字统一,便于在$.ajax()中使用。jqXHR也提供.error() .success()和.complete()方法。这些方法都带有一个参数,该参数是一个函数,此函数在 $.ajax()请求结束时被调用,并且这个函数接收的参数,与调用 $.ajax()函数时的参数是一致。这将允许你在一次请求时,对多个回调函数进行赋值,甚至允许你在请求已经完成后,对回调函数进行赋值(如果该请求已经完成,则回调函数会被立刻调用)。

jqXHR.done(function(data, textStatus, jqXHR) {});

一个可供选择的 success 回调选项的构造函数,.done()方法取代了的过时的jqXHR.success()方法。请参阅deferred.done()的实现细节。

jqXHR.fail(function(jqXHR, textStatus, errorThrown) {});

一种可供选择的 error 回调选项的构造函数,.fail()方法取代了的过时的.error()方法。请参阅deferred.fail()的实现细节。

jqXHR.always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { });

一种可供选择的 complete 回调选项的构造函数,.always()方法取代了的过时的.complete()方法。

在响应一个成功的请求后,该函数的参数和.done()的参数是相同的:data, textStatus, 和 jqXHR 对象.对于失败的请求,参数和.fail()的参数是相同的:jqXHR 对象, textStatus, 和 errorThrown。请参阅deferred.always()的实现细节。

jqXHR.then(function(data, textStatus, jqXHR) {}, function(jqXHR, textStatus, errorThrown) {});

包含了 .done() 和 .fail()方法的功能,(从 jQuery 1.8 开始)允许底层被操纵。请参阅deferred.then()的实现细节。

推荐使用的注意事项: jqXHR.success(), jqXHR.error(), 和 jqXHR.complete()回调从 jQuery 1.8开始 被弃用。他们将最终被取消,您的代码应做好准备,使用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在所有的回调中的引用,是这个对象在传递给$.ajax的设置中上下文;如果没有指定context(上下文),this 引用的是Ajax设置的本身。

为了向后兼容XMLHttpRequest ,一jqXHR对象将公开下列属性和方法:

readyState

status

statusText

responseXML and/or responseText 当底层的请求分别作出XML和/或文本响应

setRequestHeader(name, value) 从标准出发,通过替换旧的值为新的值,而不是替换的新值到旧值

getAllResponseHeaders()

getResponseHeader()

abort()

假如没有onreadystatechange属性,因为不同的状态可以分别在 success , error , complete和statusCode 方法中进行处理。

到此,相信大家对"jqXHR对象公开的属性和方法有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report