首頁  >  文章  >  web前端  >  淺談js取得ModelAndView值的問題

淺談js取得ModelAndView值的問題

亚连
亚连原創
2018-05-28 16:13:171725瀏覽

下面我就為大家分享一篇淺談js取得ModelAndView值的問題,具有很好的參考價值,希望對大家有幫助。

JS當中不能接收ModelAndView的回傳值嗎?一定要在JSP頁面中才能接收嗎?

1 方法一【有效】

可以的,跟el表達式存取方式一樣。

範例程式碼,一個資料展示請求的Action中存入一個userId:

 @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;
  }

在頁面jsp檔案中js中使用這個userId作為查詢條件:

<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 方法二

## 【有效? 】

台回傳的是js,還是json?這個一定要搞清楚!

假設後台傳回的字串儲存在responseText裡,那麼

如果是js,就

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

如果是json,就

var result = JSON.parse(responseText);

#3 方法三【有效】

加入隱藏字段,

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

方便js讀取

#

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

上面是我整理給大家的,希望未來會對大家有幫助。

相關文章:

Ajax核心XMLHttpRequest總結

解決ajax跨域請求資料cookie遺失問題

使用ajax實作無刷新改變頁面內容與網址列URL

以上是淺談js取得ModelAndView值的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn