jQuery.post()失败回调函数?
问题描述:
比方说,我有一个代码:jQuery.post()失败回调函数?
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
});
有没有什么办法来检查,如果该请求已经失败(例如,由于超时)?
答
是的,有从jQuery documentation:
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
})
.error(function() {
alert("error");
})
更新:drake7077: “错误是不赞成的jQuery 1.8,使用.fail()”
答
两种可能性:
-
您可以注册一个“ajax error”通用回调函数,当任何ajax操作失败时将会调用该函数:
$(document).ajaxError(function(event, jqXHR, settings, exception) { ... });
您可以回退到
$.ajax()
,而是直接包含您自己的错误处理程序。
编辑 — @amosrivera是正确的 - 新的“延迟”返回值允许引入处理程序。这些可用于jQuery 1.5和更新。
.error仅支持jQuery v1.5及更高版本中的.post(如文档链接中所述)。 – CedricB 2012-03-27 17:30:14
.error从jquery 1.8开始已弃用,请使用.fail() – drake7707 2013-06-21 18:10:12