首页 / 知识
jqXHR对象将公开的属性和方法
2023-04-11 13:33:00

从 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 方法中进行处理。
|
最新内容
相关内容
python如何确定是否为可迭代对象
python如何确定是否为可迭代对象,培训,元素,索引,对象,整数,字典,函数,类型,下标,模块,迭代可以理解为,任意的集合使用for循环遍历python中,迭python一个数的平方怎么表示
python一个数的平方怎么表示,培训,平方根,个数,函数,模块,表示,方法,表达式,实例,下面,用python进行数学计算,可以使用python内置的函数模块,下python怎么调用类方法
python怎么调用类方法,培训,方法,实例,静态,定义,参数,属性,对象,关键字,以上,python中的类用来描述具有相同的属性和方法的对象的集合。它定python如何求一个数的平方
python如何求一个数的平方,培训,平方根,个数,整数,函数,模块,方法,小数,表达式,数值,用python进行数学计算,可以使用python内置的函数模块,下面pythonpython是什么类型的语言
pythonpython是什么类型的语言,培训,系统,教育,软件,电脑,代码,简介,人工智能,类型,语言,python是一种面向对象、解释型、动态类型计算机程序python哪个版本是免费的
python哪个版本是免费的,培训,发行,通用,项目,设计,版本,以上,语言,计算机,构架,python是免费的,也就是开源的。目前市面上主流的版本有pythonpython判断字符串是否为小数的方法
python判断字符串是否为小数的方法,培训,代码,合法,小数点,小数,整数,字符串,方法,右边,左边,python想判断一个字符串是不是一个合法的小数,但python可以继承父类方法吗
python可以继承父类方法吗,培训,代码,名字,方法,动物,属性,编译器,这样的话,定义,里面,python继承,调用父类属性方法在python里面,继承一个类python怎么判断某一对象是否为字典
python怎么判断某一对象是否为字典,培训,名称,代码,情况,类型,实例,元素,字典,函数,对象,我们经常需要在Python代码中确定某个实例是什么类型python怎么求一个数的平方
python怎么求一个数的平方,培训,平方根,个数,函数,模块,方法,表达式,实例,下面,以上,用python进行数学计算,可以使用python内置的函数模块,下面python如何查看对象属性
python如何查看对象属性,培训,网络,系统,函数,对象,属性,变量,示例,实例,模块,在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要python判断字符是否为字母和数字
python判断字符是否为字母和数字,数字,培训,字母,字符串,字符,空格,方法,都会,分号,大小写,在使用python语言中的字符串方法时,可以使用它们判