jquery通过ajax发送json请求与springboot接受数据

news/2024/7/10 23:24:43 标签: json, jquery, ajax

html发送ajax请求必须注明发送的是json所以必须使用下面的模板

$.ajax({
            type:"POST",
            url:"",
            data:JSON.stringify(userList),
            contentType:"application/json;charset=utf-8"
        });

而spingboot在接受json数据时,必须要使用@RequestBody注解修饰

一、ajax发送的json数据是pojo类型的参数或者是pojo类型的集合,在java中有对应类
1.user类

public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

2.html

<script>
        var userList = new Array();
        userList.push({name:"zhangsan",age:99});
        userList.push({name:"lisi",age:108});
        // $.get("/travel/user/quick9",{name:"test",age:18});
        $.ajax({
            type:"POST",
            url:"${pageContext.request.contextPath}/user/quick13",
            data:JSON.stringify(userList),
            contentType:"application/json;charset=utf-8"
        });
    </script>

3.后台接受数据

@RequestMapping("/quick13")
    @ResponseBody
    public void save13(@RequestBody List<User> userList){
        System.out.println(userList);
    }

二、ajax发送的json数据是多个类型的参数,在java中没有对应类
1.html

<script>
        var userList = new Array();
        userList.push({name:"zhangsan",age:99});
        userList.push({name:"lisi",age:108});
        var ajaxData={
            'userList':userList,
            'test':test2
        }
        // $.get("/travel/user/quick9",{name:"test",age:18});
        $.ajax({
            type:"POST",
            url:"${pageContext.request.contextPath}/user/quick13",
            data:JSON.stringify(ajaxData),
            contentType:"application/json;charset=utf-8"
        });
    </script>

2.后台接受数据

@RequestMapping("/quick13")
    @ResponseBody
    public void save13(@RequestBody Map<String,Object> map){
        List<User> userList = (List<User>) map.get("userList");
    }

http://www.niftyadmin.cn/n/1382114.html

相关文章

6、常用类简介

String类简介 1、字符串&#xff08;String&#xff09;的不可变性 String类在java.lang包下面&#xff0c;是Object类的直接子类&#xff0c;通过API或者源码可以看到&#xff0c;String类是final修饰的&#xff0c;这说明String类不能被继承。字符串一旦创建好之后&#xff0…

1975年12月,柯达公司电子工程师史蒂文·塞尚成为世界上第一个拿着数码相机,拍下第一张照片的人...

看到街上一大把人拿着轻薄的卡片数码相机拍摄&#xff0c;我们已经习以为常&#xff0c;但要是看到世界第一台数码相机那臃肿的体型&#xff0c;你就会感叹能有今天如此小巧的卡片数码相机的确不易。 世界第一台数码相机&#xff0c;形态臃肿慢如蜗牛 世界第一台数码相机说的就…

MySQL 卸载后无法重新安装,MySQL Connector 6.5.8无法彻底删除,该怎么办

总结一下在装MySQL 社区版 5.6.20的过程中所遇到的问题&#xff0c;以及解决办法&#xff0c;当然还有一些是没有解决的&#xff0c;&#xff0c;官网上下载了mysql-installer-community-5.6.20.0.msi&#xff0c;下载地址&#xff1a;http://dev.mysql.com/downloads/windows/…

一个注意事项:内部类引用的外部变量必须是final的

之前写过一个项目&#xff0c;好久没更新了&#xff0c;最近翻起以前的代码&#xff0c;发现在这里报了一个错。&#xff08;现在转到Intellij了&#xff0c;从前在Eclipse luna中是可以编译通过的&#xff0c;Eclipse mars也会报错&#xff0c;JDK版本都是1.8&#xff0c;还没…

使用commons-pool2实现FTP连接池

​ GitHub : https://github.com/jayknoxqu/ftp-pool 一. 连接池概述 ​ 频繁的建立和关闭连接&#xff0c;会极大的降低系统的性能&#xff0c;而连接池会在初始化的时候会创建一定数量的连接&#xff0c;每次访问只需从连接池里获取连接,使用完毕后再放回连接池&#xff0c;并…

springboot打war包部署在tomcat服务器上

1.在启动类上继承SpringBootServletInitializer&#xff0c;并重写protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)方法&#xff0c;目的是为了让tomcat服务器找到启动类 2.修改pom.xml &#xff08;1)增添下面的依赖&#xff0c;目的是为了…

手机视频监控系统开发系列文章

记录手机视频监控系统开发过程, 前期准备, 开发总结, 后续及其它相关技术如视频编解码/流媒体等. 前期准备 - Windows Mobile Windows Mobile入门 Windows Mobile 菜单条资源使用 Windows Mobile开发文章收藏 移动开发资源集锦 [转载]3GP文件格式研究 前期准备 - Symbian …

网站安全配置(Nginx)防止网站被***(包括使用了CDN加速之后的配置方法)

网站被***是一个永恒不变的话题&#xff0c;网站***的方式也是一个永恒不变的老套路。找几百个电脑&#xff08;肉鸡&#xff09;&#xff0c;控制这些电脑同时访问你的网站&#xff0c;超过你网站的最大承载能力&#xff0c;然后你就瘫了。方法虽然老土&#xff0c;但却一直都…