时间:2021-07-01 10:21:17 帮助过:33人阅读
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); //调用分页插件,初始化分页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值的问题的详细内容,更多请关注Gxl网其它相关文章!