前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js获取ModelAndView值的问题[通俗易懂]

js获取ModelAndView值的问题[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-09 10:59:06
17.6K0
发布2022-09-09 10:59:06
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

JS当中不能接收ModelAndView的返回值吗?一定要在JSP页面中才能接收吗?

1 方法一 【有效】

可以的,跟el表达式访问方式一样。 示例代码,一个数据展示请求的Action中存入一个userId:

代码语言:javascript
复制
 @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作为查询条件:

代码语言:javascript
复制
    <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 方法二【有效?】
代码语言:javascript
复制
台返回的是js,还是json?这个一定要搞清楚!
假设后台返回的字符串存储在responseText里,那么
如果是js,就
var result = eval("(" + responseText + ")");
如果是json,就
var result = JSON.parse(responseText);
代码语言:javascript
复制
3 方法三 【有效】
加入隐藏字段,
   <input id="autoflag" type="hidden" value="${autoflag}"> 
  便于js读取 
 var passflag=document.getElementById("autoflag");

点关注,不迷路

文章每周持续更新,可以微信搜索「 十分钟学编程 」第一时间阅读和催更,如果这个文章写得还不错,觉得有点东西的话 ~求点赞👍 求关注❤️ 求分享❤️ 各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161002.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 点关注,不迷路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档