ajax调用后台异常,页面跳转

前端之家收集整理的这篇文章主要介绍了ajax调用后台异常,页面跳转前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在java开发中,我们往往需要统一处理异常信息,跳转到某一个错误提示页面

然而,通过ajax调用后台时,后台抛出异常后,页面却没有跳转到异常页面,原因是后台异常时,没有正确向ajax返回信息,

这时,ajax就会走到error处理方法

这种问题怎么解决呢,下面用代码举例:

失败时,返回页面的jsp为:/view/error/notAuthorize.jsp

ajax代码

[javascript] view plain copy
  1. $.ajax({
  2. type:"GET",
  3. url:"${path}/off/getScheduleJson.action?random=Math.random",
  4. data:{day:data},
  5. dataType:"json",248)"> success:function(data){
  6. success();//成功时的处理方法
  7. },
  8. error: error(data);//失败时的处理方法
  9. }
  10. });

下面主要说失败时的处理方法

copy

    functionerror(data){
  1. varresult=data.responseText;
  2. if(result!=null&&result!=''){//后台异常时,并在后台捕获
  3. varurl=getRootPath()+"/view/error/notAuthorize.jsp";//获取工程路径
  4. location.href=url;
  5. //$(document.body).html(result);
  6. }else{//后台异常,且没有被捕获
  7. clickautohide(5);
  8. }
  9. }

copy
    //js获取项目根路径,如:http://localhost:8099/UniqueduHome
  1. functiongetRootPath(){
  2. //获取当前网址,如:http://localhost:8099/UniqueduHome/view/error/notAuthorize.jsp
  3. varcurWwwPath=window.document.location.href;
  4. //获取主机地址之后的目录,如:UniqueduHome/view/error/notAuthorize.jsp
  5. varpathName=window.document.location.pathname;
  6. varpos=curWwwPath.indexOf(pathName);
  7. //获取主机地址,如:http://localhost:8099
  8. varlocalhostPaht=curWwwPath.substring(0,pos);
  9. //获取带"/"的项目名,如:/UniqueduHome
  10. varprojectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
  11. return(localhostPaht+projectName);
  12. }
原文链接:https://www.f2er.com/ajax/163078.html

猜你在找的Ajax相关文章