js獲取modelandview的值

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

1 方法一 【有效?】java

能夠的,跟el表達式訪問方式同樣。
示例代碼,一個數據展現請求的Action中存入一個userId:ajax

@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做爲查詢條件:json

<script type="text/javascript">
        var path = '<%=basePath%>';
        var author=${userId};
        $(document).ready(function(){
            queryList();
        });

        function queryList(){
            $.ajax({
                type : 'POST',
                url : path+'queryDiaryList', //經過url傳遞name參數
                data : {
                        author:author,
                        page:_currentPage,
                        pageSize:_pageSize,
                        type:$("#queryType").val()
                    },
                dataType : 'json',
                success:function(data){
                    if(data.status){
                        showTable(data.result);
                        //調用分頁插件,初始化分頁Div
                        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");便於js讀取
相關文章
相關標籤/搜索