【问题标题】:General handling of AJAX call error on client side客户端 AJAX 调用错误的一般处理
【发布时间】:2015-04-16 18:28:06
【问题描述】:

我们有一个使用 PrimeFaces 的 JSF 2.2 应用程序。

现在,当发生错误时,我会检查 AJAX 请求并提供部分响应(如 BalusC's anwer to this question 所示)。

但是,如果不再有服务器来处理错误,例如由于连接丢失?目前,什么都没有发生,让用户感到困惑。

我在that question 中找到了一个提示,它有效,但我想以一般方式解决这个问题,以便所有失败的 AJAX 调用都尝试重定向到起始页 - 然后可能会收到浏览器连接错误信息。

【问题讨论】:

    标签: ajax jsf-2 primefaces error-handling


    【解决方案1】:

    对于标准 JSF ajax,使用jsf.ajax.addOnError() 设置默认错误处理程序。例如

    jsf.ajax.addOnError(function(data) {
        alert(data.responseText);
    });
    

    另见JSF 2.2 spec 的第 13.3.6.2 章。您可以在 JSF 规范的表 14-4 中找到 data 对象的所有属性。

    对于 PrimeFaces 4+,在 jQuery 中挂钩 pfAjaxError 事件(在 4 之前,只需使用 ajaxError)。例如

    $(document).on("pfAjaxError", function(event, xhr, options) {
        alert(xhr.responseText);
    });
    

    只需相应地自定义它以在顶部显示一些 div。

    【讨论】:

      猜你喜欢
      • 2022-07-04
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2021-10-12
      相关资源
      最近更新 更多