在java开发中,我们往往需要统一处理异常信息,跳转到某一个错误提示页面。
然而,通过ajax调用后台时,后台抛出异常后,页面却没有跳转到异常页面,原因是后台异常时,没有正确向ajax返回信息,
这时,ajax就会走到error处理方法。
这种问题怎么解决呢,下面用代码举例:
失败时,返回页面的jsp为:/view/error/notAuthorize.jsp
ajax代码:
- $.ajax({
- type: "GET",
- url: "${path}/off/getScheduleJson.action?random=Math.random",
- data: {day:data},
- dataType: "json",
- success: function(data){
- success();
-
- },
- error: function(data){
- error(data);
- }
- });
下面主要说失败时的处理方法:
- function error(data){
- var result = data.responseText;
- if(result !=null && result !=''){
- var url = getRootPath()+"/view/error/notAuthorize.jsp";
- location.href = url;
-
- }else{
- clickautohide(5);
- }
- }
-
- function getRootPath(){
-
- var curWwwPath=window.document.location.href;
-
- var pathName=window.document.location.pathname;
- var pos=curWwwPath.indexOf(pathName);
-
- var localhostPaht=curWwwPath.substring(0,pos);
-
- var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
- return(localhostPaht+projectName);
- }