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</br>
    if(user!=null){</br>
        Integer id = user.getId();</br>
        view.addObject("userId",id);</br>
    }</br></br>

    return view;</br>
}</br>

在页面jsp文件中js中使用这个userId作为查询条件:

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

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

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");
posted @ 2018-02-27 15:50  星朝  阅读(5705)  评论(0编辑  收藏  举报