【问题标题】:jQuery Ajax error resolutionjQuery Ajax 错误解决
【发布时间】:2010-09-20 17:07:39
【问题描述】:

我正在开发一个条纹应用程序,它使用一点 jQuery 来使 UI 更加动态/可用。

我设置了错误解决方案,因此如果抛出错误,用户将被重定向到 error.jsp 页面。

但是,如果在 jQuery Ajax 调用期间引发错误,我不会重定向到 error.jsp 页面,而是将 html 打印到应该是调用结果的页面。

如果抛出异常而不是打印到页面,我如何告诉 jQuery 重定向?

有问题的 Ajax 示例:

$.post("SendStatusEmail.action",
            {status: newstatus, id : id },
            function(data) {
                column.text(data);
                column.addClass("redfont");
                column.parent().fadeOut(3000, function(){column.parent().remove()});

【问题讨论】:

    标签: java jquery ajax error-handling stripes


    【解决方案1】:
    $(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError) {
        // redirect here.
    }
    

    我应该补充一点,当 Ajax 调用中出现异常时,我不会重定向。相反,我让服务器以 JSON 格式返回错误描述并将其显示在页面中。

    【讨论】:

    • 嗯.. 实际上服务器正在处理一个抛出的异常,所以它吐回一些 html 而不是我期望的纯文本,所以 jQuery 认为一切正常。我想使用这个我可以让异常处理程序返回一个 500 HTTP 状态代码或什么?嗯..
    • 对,500 = ajaxError 调用。
    【解决方案2】:

    使用 $.ajax() 代替 $.post() 怎么样?更通用的 $.ajax() 提供了一个错误回调,您可以在发生错误时调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 2014-01-28
      • 2014-01-09
      • 2012-10-13
      • 2017-07-31
      相关资源
      最近更新 更多