Maison >interface Web >js tutoriel >Une brève discussion sur le problème de l'obtention de la valeur ModelAndView dans js

Une brève discussion sur le problème de l'obtention de la valeur ModelAndView dans js

亚连
亚连original
2018-05-28 16:13:171781parcourir

Je vais maintenant partager avec vous une brève discussion sur le problème de l'obtention de la valeur ModelAndView avec js. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde.

La valeur de retour de ModelAndView ne peut-elle pas être reçue dans JS ? Doit-il être reçu dans une page JSP

1 Méthode 1 [valide]

Oui, c'est la même chose que l'el méthode d'accès aux expressions.

Exemple de code, un userId est stocké dans l'Action d'une requête d'affichage de données :

 @RequestMapping(value="/diary")
  public ModelAndView toDiaryList(HttpSession session){
    ModelAndView view = new ModelAndView("/diary_list");
    TbUser user = (TbUser)session.getAttribute(SystemConstant.CURRENT_USER);
    //set info of current user
    if(user!=null){
      Integer id = user.getId();
      view.addObject("userId",id);
    }
    return view;
  }

dans la page jsp file Utilisez cet ID utilisateur comme condition de requête dans js :

<script type="text/javascript">
    var path = &#39;<%=basePath%>&#39;;
    var author=${userId};
    $(document).ready(function(){
      queryList();
    });
    function queryList(){
      $.ajax({
        type : &#39;POST&#39;,
        url : path+&#39;queryDiaryList&#39;, //通过url传递name参数
        data : {
            author:author,
            page:_currentPage,
            pageSize:_pageSize,
            type:$("#queryType").val()
          },
        dataType : &#39;json&#39;,
        success:function(data){
          if(data.status){
            showTable(data.result);
            //调用分页插件,初始化分页p
            pageShow("queryList",data.ext.total);
          }else{
            alert(data.description);
          }
        },
        error:function(e){
          alert("Net error ,try later.");
        }
      });
    }
    </script>

2 Méthode 2

【Efficace ? 】

La station renvoie-t-elle js ou json ? Cela doit être clarifié !

Supposons que la chaîne renvoyée par l'arrière-plan soit stockée dans ResponseText, alors

Si c'est js, alors

var result = eval("(" + responseText + ")");

Si c'est json, juste

var result = JSON.parse(responseText);

3 Méthode 3 [Effective]

Ajouter des champs cachés,

<input id="autoflag" type="hidden" value="${autoflag}">

pour faciliter la lecture du js

var passflag=document.getElementById("autoflag");

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Résumé XMLHttpRequest du noyau Ajax

Résoudre le problème de la perte de cookies de données de requête inter-domaines Ajax

Utilisez ajax pour modifier le contenu de la page et l'URL de la barre d'adresse sans actualiser

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