[英]How to handle 404 exception invoked by ajax, Spring MVC 3.2, @ControllerAdvice
在Spring MVC中,如果我使用常規提交方式提交Web表單,則可以處理web.xml
中的404異常,
<error-page>
<error-code>404</error-code>
<location>404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>404.jsp</location>
</error-page>
但是如何攔截來自ajax調用的404
錯誤(可能使用@ControllerAdvice
)並將自定義異常傳遞給jquery
xhr.responseText
?
您可以使用默認控制器處理未映射的請求,並在響應中寫入錯誤:
@Controller
public class DefaultController {
@RequestMapping
public void unmappedRequest(HttpServletResponse response) throws IOException {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
response.getWriter().write("404 error mesage");
}
}
然后,您可以在JavaScript中獲取錯誤:
$.post("/servlet/wrong/url", function() {
alert("success");
})
.fail(function(jqXHR) {
alert(jqXHR.responseText);
});
顯然,這僅適用於您的DispatcherServlet處理的請求,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.