Maison  >  Article  >  développement back-end  >  Partage de la méthode permettant d'accéder à une nouvelle page jsp en ajax

Partage de la méthode permettant d'accéder à une nouvelle page jsp en ajax

小云云
小云云original
2017-12-25 09:26:362435parcourir

ajax peut actualiser partiellement la page, c'est-à-dire mettre à jour les informations partielles de la page sans actualiser la page entière. Cet article présente principalement la méthode permettant d'accéder à une nouvelle page jsp en ajax. Il met à jour les informations partielles de la page sans actualiser la page entière. Les amis intéressés peuvent s'y référer.

J'ai rencontré un problème dans le projet : dans la liste des utilisateurs, lorsqu'un bouton est cliqué, les informations de l'utilisateur doivent être interrogées. Si la requête réussit, elle passera à l'interface des détails de l'utilisateur ; la requête échoue, un message d'invite apparaîtra sur la page d'origine.

Pensez à deux solutions :

Méthode 1 :

Cliquez sur le bouton pour appeler la méthode normale interrogez les informations sur l'utilisateur, si la requête réussit, elle passera à la page de détails de l'utilisateur ; si la requête échoue, la redirection appellera la méthode d'interrogation de la liste d'utilisateurs. Une fois la méthode d'interrogation de la liste d'utilisateurs terminée, elle passera à. la page de la liste des utilisateurs et un message d'invite apparaîtra, ce qui équivaut à recharger la page de la liste des utilisateurs.

Méthode 2 :

Selon les exigences, la page de la liste des utilisateurs ne peut pas être rechargée. Utilisez ajax pour appeler la méthode d'interrogation des détails de l'utilisateur. Si la requête réussit, la chaîne Json de l'utilisateur sera renvoyée. Si la requête échoue, une erreur sera renvoyée.

Méthode de fond :


@RequestMapping(value = "searchUser")
 public void searchHome(HttpServletResponse response){
    String result = null;
    ...
    查询用户的方法
    ...
 
    if(查询成功){
       result = JsonUtil.objectToJson(查询结果对象);//结果对象转化成Json字符串,在ajax的结果中跳转到用户详情的处理方法
       AjaxUtil.ajax(response,result);
    }else{//查询失败,返回提示信息
       AjaxUtil.error(response, "查询用户失败");
    }  
 }

ajax de la page jsp :


function searchUser(){
     $.ajax({
        url : "testurl/searchUser",
        cache : false,
        type : 'POST',
        data : {
          查询用的数据,比如用户ID
        },
        success : function(data) {
          var obj = eval("("+data+")"); 
           
          if(obj.success==undefined){//查询成功,跳转到详情页面
             ...
             跳转到用户详情处理方法,将date数据传过去
             ...
          }else if(!obj.success){//查询失败,弹出提示信息
             weui.Loading.info(obj.message);
          }
        },
        error : function(error) {
          weui.alert("查询用户有误!");
        }
     });    
  } 

L'accent ici est de savoir comment appeler la méthode ordinaire dans la fonction de rappel ajax, et transmettre les données utilisateur précédemment interrogées à la méthode ordinaire (la partie rouge dans le pseudo-code ci-dessus), puis sauter Accédez à la page de détails de l'utilisateur.

(1) Cas d'erreur :


function searchUser(){
      $.ajax({
        url : "testurl/searchUser",
        cache : false,
        type : 'POST',
        data : {
           查询用的数据,比如用户ID
        },
        success : function(data) {
           var obj = eval("("+data+")");
           if(obj.success==undefined){//查询成功,跳转到详情页面,encodeURIComponent编码是为了防止url后面传送的参数中文乱码,在后台处理时需要解码
             window.location.href = "testurl/userForm?userJson="+encodeURIComponent(data);
           }else if(!obj.success){//查询失败,弹出提示信息
              weui.Loading.info(obj.message);
           }
        },
        error : function(error) {
           weui.alert("查询用户有误!");
        }
      });    
   }

Raison de l'erreur : la méthode window.location.href est une méthode get, cela rendra les paramètres affichés dans l'URL du navigateur dangereux et la durée de la transmission des données sera limitée.

(2) La méthode stupide qui me vient à l'esprit : écrire un formulaire caché dans le corps, copier les données utilisateur trouvées dans l'entrée du formulaire dans la fonction de rappel, puis soumettre le formulaire à passer à Dans la méthode ordinaire, ce sont les données soumises par la méthode post, et vous pouvez accéder à une nouvelle page :


function searchUser(){
      $.ajax({
        url : "testurl/searchUser",
        cache : false,
        type : 'POST',
        data : {
           查询用的数据,比如用户ID
        },
        success : function(data) {
           var obj = eval("("+data+")");
           if(obj.success==undefined){//查询成功,跳转到详情页面
             $("#userFormJson").val(data);
             $("#userForm").attr("action","testurl/userForm");
             $("#userForm").submit();
           }else if(!obj.success){//查询失败,弹出提示信息
              weui.Loading.info(obj.message);
           }
        },
        error : function(error) {
           weui.alert("查询用户有误!");
        }
      });    
   } 

corps du page jsp


<body>
  <form id="userForm" action="" method="post">
    <input id="userFormJson" name="userFormJson" type="hidden"/>
  </form>
</body>

Recommandations associées :

Introduction détaillée au saut de page jsp

Méthode Java pour implémenter le saut de page JSP

Résumé de la méthode de saut de page JSP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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