本文算是spring mvc4:异常处理 后续篇章,普通页面出错后可以跳到统一的错误处理页面,但是ajax就不行了,ajax的本意就是不让当前页面发生跳转,仅局部刷新,从而改善用户体验,基本思路是:把异常转换成json数据返回,这样ajax的回调函数,就能解析出错误原因。

 

一、如何区分ajax请求与普通请求

打开firefox的调试工具观察一下:

普通的页面请求

Struts2、Spring MVC4 框架下的ajax统一异常处理

jquery发起的ajax请求

Struts2、Spring MVC4 框架下的ajax统一异常处理

对比一下,可以发现jquery发生的ajax请求,Request Headers里多出了x-requested-with,用它就可以判断是否ajax请求。

 

二、struts2框架

a) 先定义一个ajax通用异常

 1 package com.cnblogs.yjmyzz.exception;
 2 
 3 public class AjaxException extends Exception {    
 4 
 5     private static final long serialVersionUID = -8503861588580421151L;
 6 
 7     public AjaxException(String message) {
 8         super(message);
 9     }
10 
11 }
View Code

相关文章: