浅谈js获取ModelAndView值的问题
JS当中不能接收ModelAndView的返回值吗?一定要在JSP页面中才能接收吗?
1方法一【有效】
可以的,跟el表达式访问方式一样。
示例代码,一个数据展示请求的Action中存入一个userId:
@RequestMapping(value="/diary") publicModelAndViewtoDiaryList(HttpSessionsession){ ModelAndViewview=newModelAndView("/diary_list"); TbUseruser=(TbUser)session.getAttribute(SystemConstant.CURRENT_USER); //setinfoofcurrentuser if(user!=null){ Integerid=user.getId(); view.addObject("userId",id); } returnview; }
在页面jsp文件中js中使用这个userId作为查询条件:
varpath='<%=basePath%>'; varauthor=${userId}; $(document).ready(function(){ queryList(); }); functionqueryList(){ $.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("Neterror,trylater."); } }); }
2方法二
【有效?】
台返回的是js,还是json?这个一定要搞清楚!
假设后台返回的字符串存储在responseText里,那么
如果是js,就
varresult=eval("("+responseText+")");
如果是json,就
varresult=JSON.parse(responseText);
3方法三【有效】
加入隐藏字段,
便于js读取
varpassflag=document.getElementById("autoflag");
以上这篇浅谈js获取ModelAndView值的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。