下面我就為大家分享一篇淺談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); //调用分页插件,初始化分页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");上面是我整理給大家的,希望未來會對大家有幫助。 相關文章:
以上是淺談js取得ModelAndView值的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!