浅谈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 = '<%=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 type="hidden" value="${autoflag}">

便于js读取 

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

以上这篇浅谈js获取ModelAndView值的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxdds.html