springMVC拦截器处理ajax请求及数据返回

2016-11-16 18:56:01来源:CSDN作者:xiajingyc人点击

第七城市

正常情况下,springMVC的拦截器的response.sendRedirect是可以跳转的。但是,如果前端用的ajax请求,则response.sendRedirect不能正常跳转。

ajax有自己独立的请求头x-requested-with,加上springMVC有一套自己的机制处理ajax请求。

if (req.getHeader("x-requested-with")!= null && req.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){//如果是ajax请求响应头会有x-requested-with 

                              ServletOutputStreamout = rep.getOutputStream();

                                                  out.print("unlogin");//返回给前端页面的未登陆标识

                                  out.flush();

                                  out.close();

                                  return false;

                 }else{

                                                  Stringindexurl=content+"/index.html";

                                                  rep.sendRedirect(indexurl);

                                                  returnfalse;

                                         }

                   

特别注意:springMVC默认用的是outputStream,所以在向外输出的时候,一定不能用getPrintWriter。


第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台