zoukankan      html  css  js  c++  java
  • springmvc处理ajax请求,返回json数据

    ①在springmvc方法上添加@ResponseBody注解,springmvc会将数据转换成json并返回;

        @ResponseBody //指定返回json数据,不跳转页面
        @RequestMapping("/list")
        public List<User> list(User user){
            System.out.println("获取到异步请求数据:"+user);
            //todo 根据条件做数据库查询,返回结果集合
            ArrayList<User> users=new ArrayList<>();
            users.add(new User(1,"james",18,""));
            users.add(new User(2,"姚明",40,""));
            users.add(new User(3,"科比",46,""));
            return users;
        }

    list.jsp页面中代码为:

       <body>
       <input type="button" id="btn" value="异步加载数据"/>
       <script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script>
       <script>
           $(function ($) {
               $("#btn").click(function () {
                   $.ajax({
                       url:"${pageContext.request.contextPath}/list",
                       type:"post",
                       data:{"name":"james","age":18},
                       dataType:"json",
                       success:function (result) {
                           alert("请求成功!")
                           console.log(result)
                       }
                   })
               })
           })
       </script>
    </body>

    ②如果contentType=”application/json”时,在方法的参数前添加@RequestBody注解,获取传递的json字符串,并封装到对象中;

        @ResponseBody //指定返回json数据,不跳转页面
        @RequestMapping("/list")
        public List<User> list(@RequestBody(required=false) User user){
            System.out.println("获取到异步请求数据:"+user);
            //todo 根据条件做数据库查询,返回结果集合
            ArrayList<User> users=new ArrayList<>();
            users.add(new User(1,"james",18,""));
            users.add(new User(2,"姚明",40,""));
            users.add(new User(3,"科比",46,""));
            return users;
        }

    list.jsp页面中代码为:

       <body>
       <input type="button" id="btn" value="异步加载数据"/>
       <script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script>
       <script>
           $(function ($) {
               $("#btn").click(function () {
                   var jsonObj={"name":"james","age":18};
                   $.ajax({
                       url:"${pageContext.request.contextPath}/list",
                       type:"post",
                       data:JSON.stringify(jsonObj),//json字符串 将json对象转化为字符串
                       dataType:"json",
                       contentType:"application/json",//指定以json方式传输数据
                       success:function (result) {
                           alert("请求成功!")
                           console.log(result)
                       }
                   })
               })
           })
       </script>
    </body>
  • 相关阅读:
    python之squid实现免费 IP代理 (windows win7 单机 本机 本地 正向代理 区分 HTTPS)
    python之PIL 二值图像处理和保存
    python之GIL release (I/O open(file) socket time.sleep)
    python之多线程 threading.Lock() 和 threading.RLock()
    python之GIL官方文档 global interpreter lock 全局解释器锁
    python多线程之t.setDaemon(True) 和 t.join()
    python之工作目录和文件引用
    python 代理
    原 浅谈移动端开发--物理像素和逻辑像素
    解决移动端页面在苹果端滑不到底部的问题
  • 原文地址:https://www.cnblogs.com/xie-qi/p/12969371.html
Copyright © 2011-2022 走看看