JavaScript

超轻量级php框架startmvc

浅谈js获取ModelAndView值的问题

更新时间:2020-07-04 08:24:01 作者:startmvc
JS当中不能接收ModelAndView的返回值吗?一定要在JSP页面中才能接收吗?1方法一【有效】可

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 id="autoflag" type="hidden" value="${autoflag}"> 

便于js读取 


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

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

js获取ModelAndView值