Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des exemples d'interception d'intercepteurs sur les requêtes ajax

高洛峰
Libérer: 2017-03-28 14:39:08
original
3727 Les gens l'ont consulté

Résoudre l'interception des requêtes ajax par l'intercepteur

Configuration de l'intercepteur :

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;
  }
Copier après la connexion

1. Déterminer la chaîne XRequested =request.getHeader("X-Requested-With " ), le but est de déterminer s'il s'agit d'une requête ajax.

2. Response.getWriter().write("IsAjax"); Écrivez des données de réponse en ajax, afin que vous puissiez porter un jugement en ajax

Il existe deux façons de juger. Méthode :

1) Faire un jugement directement en ajax (non recommandé)

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

2) Changer le code source ajax puis le compresser, qui est modifié de manière globale (recommandé)

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;
         }
       }
     }
Copier après la connexion

Merci d'avoir lu, j'espère que cela pourra vous aider, merci pour votre soutien à ce site !

Pour des exemples plus détaillés d'interception de requêtes ajax par des intercepteurs, veuillez faire attention au site Web PHP chinois pour les articles connexes !

Articles connexes :

Interception de l'analyse globale des instances de requêtes ajax via JS

Utilisez Mock.js pour intercepter AJAX dans Node.js environnement serveur Tutoriel demandé

Comment vérifier s'il s'agit d'une requête ajax via php

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!