在Ajax调用中通过Servlet控制实现页面的跳转
程序员文章站
2022-06-10 11:25:37
...
对于Ajax的Request,如果在Servlet中直接用sendRedirect或者forward想实现页面的跳转,是行不通的(可能返回的ResponseText会是所跳转页面的源代码)。所以要想在Ajax的调用下实现页面的跳转就需要通过Servlet在返回的头信息中设置一个标志位,然后通过页面的JS实现跳转。
Servlet设置头信息:
response.setHeader("REQUEST_AUTH", "1");
在页面JS中实现分析跟跳转:
if(xmlHttpReq.readyState == 4){ if(xmlHttpReq.status == 200){ if(xmlHttpReq.getResponseHeader("REQUEST_AUTH")!=null&&xmlHttpReq.getResponseHeader("REQUEST_AUTH")=="1"){ window.location("index.jsp"); }else{ //do something } }