Pos*_*ing 71 javascript ajax jquery
问题:
.done()&success:,.fail()&error:和.always()&之间有区别complete:吗?序言:
我正在整理一个jQuery.ajax调用,这也是我过去成功完成的.像这样的东西:
$.ajax(
{
url: someUrl,
type: 'POST',
data: someData,
datatype: 'json',
success: function (data) { someSuccessFunction(data); },
error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
});
Run Code Online (Sandbox Code Playgroud)
在快速浏览一些文档的同时,我遇到了一个引用声明,从jQuery 1.8开始,不推荐使用成功,错误和完整回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().
因此,我们应该开始编写类似这样的代码:
$.ajax( "example.php" )
.done(function (data) { someSuccessFunction(data); })
.fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
.always(function() { alert("complete"); });
Run Code Online (Sandbox Code Playgroud)
Esa*_*ija 35
那么在那种特殊情况下没有优势.
的点.done() .fail() .always()的方法是,你可以
$.ajax如果您在$.ajax呼叫站点只附加单个处理程序,那么这些优势并没有真正发挥作用.
因此,您可以返回承诺,其他人可以附加自己的处理程序.
示例是在ajax请求后刷新插件:
$.ajaxPrefilter(function(opt, origOpt, jqxhr) {
jqxhr.always(function() {
$("[data-plugin]").plugin();
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92587 次 |
| 最近记录: |