亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

解決攔截器對ajax請求的攔截實例詳解

Original 2017-01-13 15:46:43 619
abstract:解決攔截器對ajax請求的的攔截攔截器配置:public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object obj) throws Exception {   &nb

解決攔截器對ajax請求的的攔截

攔截器配置:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object obj) throws Exception {     
    //獲取判定登陸的session是否存在
    String token = (String) request.getSession().getAttribute("token");
    String postId = (String) request.getSession().getAttribute("postId");
    if(token == null || token == ""){
      String XRequested =request.getHeader("X-Requested-With");
      if("XMLHttpRequest".equals(XRequested)){
        response.getWriter().write("IsAjax");
      }else{
        response.sendRedirect("/m-web/user/toLogin");
      }
      return false;
    }
    if(postId == null || postId == ""){
      String XRequested =request.getHeader("X-Requested-With");
      if("XMLHttpRequest".equals(XRequested)){
        response.getWriter().write("IsAjax");
      }else{
        response.sendRedirect("/m-web/user/toLogin");
      }
      return false;
    }
    return true;
  }

1、判斷 String XRequested =request.getHeader("X-Requested-With") 的值,目的是判斷是否是ajax請求。

2、response.getWriter().write("IsAjax");寫出一個響應(yīng)的數(shù)據(jù)給ajax,這樣就可以在ajax里面做判斷

  判斷的方式存在兩種方式:

  1)直接在ajax里面做判斷(不建議)

success:function(data){
  if(data == "IsAjax"){
    window.location.href="m-web/user/toLogin"
    return;
  }
}

  2)改ajax源碼然后在做壓縮,是針對全局的方式來修改的(建議)

if ( isSuccess ) {// if no content
       if ( status === 204 || s.type === "HEAD" ) {
         statusText = "nocontent";
 
       // if not modified
       } else if ( status === 304 ) {
         statusText = "notmodified";
 
       // If we have data, let's convert it
       } else {
         statusText = response.state;
         success = response.data;
         error = response.error;
         isSuccess = !error;
         //解決ajax攔截問題
         var result = responses.text;
         if(result.indexOf("IsAjax")>=0){
           window.location.href="m-web/user/toLogin";
           return;
         }
       }
     }

 更多關(guān)于解決攔截器對ajax請求的攔截實例詳解請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!  


Release Notes

Popular Entries