如何将 Java 异常信息返回到 jQuery.ajax REST 调用?

2023-11-28

我有一些 jQuery 代码,可以对 Java 后端进行 REST 调用。后端函数的处理可能会遇到异常。将此信息返回到 Javascript 的最佳方法是什么?在测试中,我捕获了 Java 中的异常并将 HTTP 状态代码设置为 500。这导致 $.ajax 错误处理程序被调用,正如预期的那样。错误处理程序的参数实际上并不包含任何有用的信息。理想情况下,我希望以某种方式将 Exception.getMessage() 字符串传播回错误处理程序,但不知道如何。


function handleClick() {
    var url = '/backend/test.json';
    $.ajax({
        type: "POST",
        url: url,
        cache: false,
        dataType: "json",
        success: function(data){
            alert("it worked");
        },
        error: function(jqXHR, textStatus, errorThrown) {
            alert(jqXHR);
            alert(textStatus); // this comes back as "error"
            alert(errorThrown); // this comes back as "undefined"
        }
    });
}


我能够通过这种方式将自定义错误消息(java 字符串)发送回基于 jQuery 的客户端。我认为我的自定义消息可以替换为您想要/需要的异常信息

在控制器中:

public static void handleRuntimeException(Exception ex, HttpServletResponse 
                                          response,String message) {
        logger.error(ex);
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        response.getWriter().write(message);
        response.flushBuffer();
}

在 client/javascript 中(在错误事件上从 ajax 调用)

displayError:function(jqXHR, textStatus, errorThrown){
   if(jqXHR.responseText !== ''){
        alert(textStatus+": "+jqXHR.responseText);
    }else{
        alert(textStatus+": "+errorThrown);
    }  
}

希望这可以帮助/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Java 异常信息返回到 jQuery.ajax REST 调用? 的相关文章

随机推荐

  • 如何在 Android 环境中检测数据使用情况

    我希望能够使用 Android 环境检测所有形式的数据使用情况 是否可以密切关注哪些应用程序正在调用RTP vs WAP等等 这样我就可以随时知道本机程序或第三方应用程序何时使用数据 如果您正在谈论一个 Android API 来通过应用程
  • 我无法使用 Python 在 Gmail 中搜索已发送的电子邮件

    我正在尝试在 已发送 中搜索消息 实际上我关心两者 但我只收到传入消息 暂时我有 imap conn select str after after strftime d b Y typ msg ids imap conn search UT
  • 在 R 中可视化 2 变量联合概率质量函数

    我在 R 中有一个表示关节的矩阵概率质量函数两个变量的 pmf 例如 gt matrix c 13 00004 0 0 0 04 13 008 0 0 01 007 16 02 0004 004 025 070 14 01 001 007
  • jQuery:无法识别的表达式

    document ready function var page window location hash if page a href page addclass selected pageload page replace page p
  • 合并两个数据框并删除重复的列

    我想要cbind两个数据框并删除重复的列 例如 df1 lt data frame var1 c a b c var2 c 1 2 3 df2 lt data frame var1 c a b c var3 c 2 4 6 cbind df
  • React - TypeScript 的 props 解构

    我有一个功能 export function getSubjectsForStudent data any any 我从外部源收到 数据参数 定义强类型是不可行的 return 源自 data 因此它的类型也是any 主 组件将 返回 传递
  • Maven 中的“反应堆”是什么?

    我一直在阅读有关 Maven Reactor 的内容 并对它的术语用法感到困惑 我读过 多模块是一个反应器 您可以操作 Maven 反应器 并且反应器是一个插件 反应堆到底是什么 反应器是 Maven 的一部分 允许它在一组模块上执行目标
  • iOS 8 自动单元格高度 - didSelectRowAtIndexPath 导致 UItableview 跳转到顶部

    我目前正在将应用程序更新到 iOS8 并替换我自己的像元高度计算 我有一个带有一堆自定义单元格的表格视图 每个单元格被选中时都会在导航控制器上呈现 推送一个新视图 当表格视图中填充了这些单元格 并且用户选择表格底部附近的一个单元格时 表格视
  • 是否可以使用 openURL 打开设置应用程序?

    我知道一个应用程序可以使用以下代码启动其他应用程序 UIApplication sharedApplication openURL appUrl 我知道打开 safari 和邮件的 URL 方案 但我做了一些搜索 但没有找到有关 setti
  • Shell 命令在 python 中失败,在 shell 中正常

    我有一个 python 脚本 可以根据给定的输入生成许多 shell 命令 问题是 当它尝试执行生成的命令时 它会失败 但是当我自己运行生成的命令 即从命令行 时 它们会成功执行 这是生成的命令 find home me downloade
  • Android SMS 拦截,无需通知图标或 WAP-PUSH 消息

    有没有办法拦截短信广播接收器例如here但不会向用户显示任何通知并立即删除包含例如某些关键字的消息 EDIT 我需要的是在android手机之间进行一对一的通信 我认为发送短信可以解决问题 但是不需要短信通知 也许WAP推送消息会更好 但我
  • 同步语句上出现 NullPointerException

    我尝试在下面的代码中同步一个对象 public void myMethod synchronized globalObj Do something here 该代码在一个线程中执行 问题是 另一个线程可能将 globalObj 设置为 nu
  • cmake 不会编译为 C++ 11 标准

    我是 C 新手 一直在编译 制作 链接 构建 其他方面苦苦挣扎 让我们看看是否有人可以帮助我 我做了一些搜索 发现其他人也有类似的问题 但我尝试了他们的解决方案 但没有成功 所以这里是 一个简单的 C 程序 使用 C 11 功能 例如统一初
  • Nhibernate 在使用 QueryOver 时无法解决属性异常,适用于 QueryAll

    我有以下问题基本上我有以下两个片段 var contactAssociation session QueryOver
  • 具有 ManyToOne 关联的实体上的 getArrayResult

    具有以下基本表 一对多关系 客户端 拥有许多用户 用户 每个用户属于单个客户端 在一个非常简单的示例中 如果我查询用户实体 Querybuilder 和getArrayResult 我看到以下内容 实际生成的SQL中包含要修改的外键字段 返
  • 有没有办法用javascript与IP建立tcp连接?

    让我介绍一下我想要完成的任务的背景 我有一个具有本地 IP 地址的设备 芯片和引脚终端 它已被编程为接收某些数据并处理它 示例 我发送字符串 05 in hex 30 35 终端会读取该内容并将重新启动 我尝试过使用SockJS客户端以及内
  • 哪些 Ruby 类支持 .clone?

    Ruby 定义 clone in Object 令我惊讶的是 有些类在调用它时会引发异常 我发现NilClass 真实课堂 假类 Fixnum有这种行为 1 是否存在完整的类列表 至少是核心类 这不允许 clone 或者有没有办法检测特定类
  • 从 Linux 使用 Windows DLL

    我们需要与第三方应用程序接口 但该应用程序背后的公司没有公开消息协议 仅提供 Windows DLL 进行接口 我们的应用程序基于 Linux 因此我无法直接与 DLL 通信 我找不到任何现有的解决方案 所以我正在考虑在 Linux 和 W
  • 有什么方法可以知道 Espresso 活动是否已开始?

    我正在使用 Espresso 进行活动转换测试 但我不知道这是否是最好的方法 public void testStartLogin onView withId R id register perform click onView withI
  • 如何将 Java 异常信息返回到 jQuery.ajax REST 调用?

    我有一些 jQuery 代码 可以对 Java 后端进行 REST 调用 后端函数的处理可能会遇到异常 将此信息返回到 Javascript 的最佳方法是什么 在测试中 我捕获了 Java 中的异常并将 HTTP 状态代码设置为 500 这