jQuery.post()失败回调函数?

假设我有一个代码:

$.post("test.php", function(data) { alert("Data Loaded: " + data); }); 

有没有办法检查请求是否失败(例如由于超时)?

是的,从jQuery文档 :

 $.post("test.php", function(data) { alert("Data Loaded: " + data); }) .error(function() { alert("error"); }) 

更新:drake7077:“从jquery 1.8开始不推荐使用错误,请使用.fail()”

两种可能性:

  1. 您可以注册“ajax错误”一般回调,当任何ajax操作失败时将调用该回调:

     $(document).ajaxError(function(event, jqXHR, settings, exception) { ... }); 
  2. 你可以回退到$.ajax() ,直接包含你自己的error handling程序。

编辑 – @amosrivera是对的 – 新的“延迟”返回值允许引入处理程序。 这些是jQuery 1.5和更新版本。