使用ajax管理服务器异常

时间:2015-09-28 11:25:48

标签: java jquery ajax struts

您好如何使用ajax -jquery处理服务器的异常?

我正在使用Java和struts框架开发Web应用程序。在项目中,我使用全局异常管理异常:

<Global-exceptions>
    <Exception key = "label.exception" type = "java.lang.Exception"
    handler = "exception.ExceptionHandler"
    path = "pages / errore.jsp" />
    </ Global-exceptions>

我使用了一个ajax函数来调用像这样的动作的帖子:

function find (cer, descr, urlToOpen, windowName, idapp) {
$ .ajax ({
type: "POST"
url: "home.do?method=find"
date: {calledfunction: windowName, idfind: find, description: descr, idapp: idapp, urlToOpen: urlToOpen}
success: function (data) {
var = newWindowName windowName.replace (/ [^ a-zA-Z0-9] / g, '');
window.open (urlToOpen, newWindowName);
alert ("Next");
},
error: function (thrownError) {
alert ("ERROR");
}
});
}

问题是我的操作抛出异常(我强迫自己),但永远不会打开错误页面。相反,它运行内部的任何东西 成功。

1 个答案:

答案 0 :(得分:0)

您的public interface UserRepository extends JpaRepository<User, Long> { List<User> getByFirstName(String firstName); } 中应该有List<User> getByFirstNames(List<String> firstNames); ,这样相同的错误状态代码就会回流到调用Ajax函数。这里<% response.setStatus(500); %>的基础代码将检查状态代码。状态代码为pages/errore.jsp,与$.ajax不同;将调用500处理程序而不是200 OK