AJAX 向后台发送带 List 集合的对象

Posted 贪吃蛇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AJAX 向后台发送带 List 集合的对象相关的知识,希望对你有一定的参考价值。

现有基类:

public class School {
    int name;
    int address;
    List<Student> students = new ArrayList<Student>();
}

public class Student {
    int name;
    int sex;
}

现在我需要通过ajax向后台传输一个包含所有学生集合的School对象:

传输的数据格式为:

school: {
    "name" : "清华大学",
    "address" : "北京",
    "students" : [{
        "name" : "张三",
        "sex" : "20"
    },{
        "name" : "李四",
        "sex" : "20"
    }]    
}

js 中的实现:

var school = {};
school.name = ‘清华大学‘;
school.address = "北京";
//此处使用的是 easyui 插件来获取数据
var rows = $(‘#maintainTableId‘).datagrid(‘getSelections‘);
for (var i = 0; i < rows.length; i++) {
    school["students [" + i + "].name"] = rows[i].name;
    school["students [" + i + "].sex"] = rows[i].sex;
}

$.ajax({
    url : url,
    type : ‘POST‘,
    dataType : ‘json‘,
    data : school,
    success : function() {}
})

注意:

    ajax 的请求参数  contentType 可能会影响到服务器端接受参数, 如果JS端发送的JSON数据为简单常见的JSON格式则不会受影响

    但是当JS发送到服务器端的JSON数据比较复杂时(例如本例中的JSON包含数组),默认的contentType(application/x-www-form-urlencoded)

    不能识别,需要更改为 ‘application/json‘ 才能识别。

    contentType的设置参考: https://blog.csdn.net/m0_37572458/article/details/78622668?locationNum=6&fps=1

    

以上是关于AJAX 向后台发送带 List 集合的对象的主要内容,如果未能解决你的问题,请参考以下文章

急!!!!! Ext发送的Ajax在前台怎么接受后台传来的JSON对象(List集合) 修改我的代码也行,好了再加分

如何使用jquery提供的$ajax方法向后台传对象集合

springmvc 如何接收list<user> 集合

怎么用ajax获取后台一个list集合,并在页面显示出来?

后台用map传值list集合到下一个后台时,后台怎么用map接list的值

怎么用ajax获取后台一个list集合,并在页面显示出来