• 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</br>
        if(user!=null){</br>
            Integer id = user.getId();</br>
            view.addObject("userId",id);</br>
        }</br></br>
    
        return view;</br>
    }</br>
    

    在页面jsp文件中js中使用这个userId作为查询条件:

        <script type="text/javascript">
    var path = '<%=basePath%>';
    var author=${userId};
    $(document).ready(function(){
    queryList();
    });

        function queryList(){</br>
            $.ajax({</br>
                type : 'POST',</br>
                url : path+'queryDiaryList', //通过url传递name参数</br>
                data : {</br>
                        author:author,</br>
                        page:_currentPage,</br>
                        pageSize:_pageSize,</br>
                        type:$("#queryType").val()</br>
                    },</br>
                dataType : 'json',</br>
                success:function(data){</br>
                    if(data.status){</br>
                        showTable(data.result);</br>
                        //调用分页插件,初始化分页Div</br>
                        pageShow("queryList",data.ext.total);</br>
                    }else{</br>
                        alert(data.description);</br>
                    }</br>
                },</br>
                error:function(e){</br>
                    alert("Net error ,try later.");</br>
                }</br>
            });</br>
        }</br>
        &lt;/script&gt;</br>
    

    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");
    
  • 相关阅读:
    【Java】RuleSource约束常用方法整理
    【Oracle】多次提交造成性能慢及处理方法
    【Oracle】ORA-28000: the account is locked-的解决办法
    【Eclipse】几个最重要的快捷键
    JavaScript 垃圾回收总结
    JavaScript 执行环境(作用域)总结
    JavaScript基本数据类型
    全局 Ajax 事件处理器
    require.js 模块化
    配置apache反向代理进行跨域
  • 原文地址:https://www.cnblogs.com/jpfss/p/8479299.html
Copyright © 2020-2023  润新知