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>
  • 相关阅读:
    亲们,知道你想更优秀,你做到这些了吗?
    Linux socket编程学习笔记(一):socket()函数详解
    关于typedef的用法总结
    c,c++里面,头文件里面的ifndef /define/endif的作用
    玩转ptrace
    文笔流畅,修辞得体
    定义和实现一个类的成员函数为回调函数
    《Shell 脚本学习指南 》 背景知识与入门 [第一、二章]
    使用ptrace跟踪进程
    FCKeditor 2.6.4.1配置
  • 原文地址:https://www.cnblogs.com/xie-qi/p/12969371.html
Copyright © 2011-2022 走看看