ajax之后的done()方法和fail()方法

Posted 廴暧寀暖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax之后的done()方法和fail()方法相关的知识,希望对你有一定的参考价值。

       

精确了还需再精确,完备了还需再完备。取法乎上,适得其中;取法乎中,适得其下。世上的事情本来就不可能十全十美,所以要求做事必须精益求精。

上期推文主要讲解了ajax()的基本用法,推文末尾提到了ajax()之后的方法,比如.done()和.fail()方法。本期推文就讲解这两个方法的使用。


平时我们写ajax可能只是简单地从后台获取数据,只需要对返回的数据做静态展示就可以了,所以,可能不会知道后边的done()和fail()。


写到上边那段话的时候,默默地去百度了一下,好像说了一堆废话,感觉好失望,精心策划的推文可能要泡汤了,因为小编发现.done()是ajax执行成功之后的callback方法,而.fail()则是请求失败后执行的方法,也就是说,上期ajax()中的参数success和error参数其实就是上述两个方法,只是写法不同而已,不过小编还是有新的发现。.done()和.fail()是success及error的升级版,他们可以接受多个参数和方法。


另外小编还有新发现,便是.always(),当ajax请求成功与否都会执行此方法,小编在工作中使用甚少,详情参考《Jquery API中文文档》。


另外还有一个方法.then(),其中包括了.done()和.fail()方法。还未发现什么神奇的用途。


推荐使用的注意事项

qXHR.success(), jqXHR.error(), 和 jqXHR.complete()回调从 jQuery 1.8开始 被弃用过时。他们将最终被取消,您的代码应做好准备, 从jQuery 3.0开始被删除,你可以使用jqXHR.done(), jqXHR.fail(), 和 jqXHR.always() 代替。


以上是关于ajax之后的done()方法和fail()方法的主要内容,如果未能解决你的问题,请参考以下文章

$.ajax 的成功和 .done() 方法有啥区别

成功ajax重试后没有.done

ajax 常用功能 结构分解

为啥我的 jQuery .ajax() 路由的 .done() 方法没有在我的 NodeJS、Express 和 Mongoose 项目中触发?

jquery的deferred使用详解

JQuery when() done() then()