在我的ajax调用中,如果收到错误,我有一个警告:
$.ajax({
url: "myUrl",
type: 'POST',
dataType : "text",
data : ({
json : myJson
}),
success : function(data) {
alert('success');
},
error : function() {
alert ('error');
}
如果抛出异常,可以在java中发送回来调用jquery中的错误回调。如下所示:
try {
PrintWriter out = resourceResponse.getWriter();
out.println("success");
out.close();
} catch (Exception e) {
PrintWriter out = resourceResponse.getWriter();
out.println("error");
out.close();
}
,而不是在响应上打印“error”,在jQuery代码中调用'error'回调。
答案 0 :(得分:5)
您必须设置http status code
以外的200
来调用jQuery Ajax中的错误回调。您可以将500 (which is for Internal Server Error)
的错误状态设置为
catch (Exception e) {
resourceResponse.setProperty(resourceResponse.HTTP_STATUS_CODE, "500");
PrintWriter out = resourceResponse.getWriter();
out.println("error");
out.close();
}
在catch
区块中。
答案 1 :(得分:2)
您有两种选择:
HttpServletResponse
将状态代码设置为http 500(或其他错误代码),然后在error
脚本中处理jQuery
回调答案 2 :(得分:1)
使用您的AJAX页面返回具有两个值的JSON对象
因此,您可以在AJAX页面中处理错误逻辑。 此解决方案解决了AJAX页面中的自定义错误,可以使用现有代码处理AJAX调用中的错误。