现有基类:

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格式的参数并不是本例中的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 集合的对象的更多相关文章

  1. AJAX 向后台发送带 List 集合的对象(转)

    var school = {};school.name = '清华大学';school.address = "北京";//此处使用的是 easyui 插件来获取数据var rows ...

  2. 关于form表单或者Ajax向后台发送数据时,数据格式的探究

    最近在做一个资产管理系统项目,其中有一个部分是客户端向服务端发送采集到的数据的,服务端是Django写的,客户端需要用rrequests模块模拟发送请求 假设发送的数据是这样的: data = {'s ...

  3. ajax处理回调函数,用ajax向后台发送数据

    这是我的后台返回给前台的数据: 处理后台返回的数据有一下两种方式: function sethouse_housing_pattern(housing_pattern){ var str=[]; va ...

  4. jquery通过ajax向后台发送(checkbox)数组,并在后台接收,(发送的数据是checkedbox)

    版权声明:本文为博主原创文章,未经博主允许不得转载. $(document).ready(function(){ var flag = 1; $("#delBtn").click( ...

  5. Ajax接收后台发送过来的布尔值以及指定的字符串

    后台: aContext.getResponse().getWriter().println("" + result); 前端: $.ajax({ url:encodeURI(en ...

  6. 使用ajax向后台发送数据

    第一种最原始的方式就是手动拼接json数组: var name="text"; $.ajax({ url:"". data:{'name':name} succ ...

  7. 使用ajax向后台发送请求跳转页面无效的原因

    Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了.所以浏览器端是不会发起重定向的. 1)正常的http url请求,只有浏览器和服务器两个参与者.浏览器端发起一个 ...

  8. jQuery使用ajax向node后台发送对象、数组参数

    引言 最近在使用jq,做一些小demo,但是突然发现jq使用ajax像后台(node)传递一个对象参数,但是后台却接收不了. 原因 后面了解到.jq会将一个对象解析成obj[key]: value这样 ...

  9. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

随机推荐

  1. ssh整合之七注解结合xml形式

    1.我们之前的纯xml的方式,我们的配置文件很多,我们可以使用注解结合xml的方式进行开发,这样的话,我们的配置文件,会少很多,同时,我们可以直接在类中看到配置,这样,我们就可以快速地搭建一个ssh整 ...

  2. python/ORM操作详解

    一.python/ORM操作详解 ===================增==================== models.UserInfo.objects.create(title='alex ...

  3. vue中的数据监听以及数据交互

    现在我们来看一下vue中的数据监听事件$watch, js代码: new Vue({ el:"#div", data:{ arr:[,,] } }).$watch("ar ...

  4. Java面试题——中级(下)

    内部类和静态内部类的区别 内部类: 1.内部类中的变量和方法不能声明为静态的. 2.内部类实例化:B是A的内部类,实例化B:A.B b = new A().new B(). 3.内部类可以引用外部类的 ...

  5. tkinter的冷却技能

    validatecommand=(f,s1,s2,s3) f就是冷却后的验证函数名,s1,s2,s3这些时额外的选项,这些选项会作为参数依次传给f函数. register()冷却作用:register ...

  6. Java之GC

    Java之GC GC:GC 是JVM的垃圾回收器.与C/C++不同,java程序员无需考虑太多内存分配的位置,更不用考虑内存释放的机制,java对象内存的申请和释放都有JVM托管.JVM的内存释放机制 ...

  7. [LeetCode] Redundant Connection 冗余的连接

    In this problem, a tree is an undirected graph that is connected and has no cycles. The given input ...

  8. hive中No space left on device问题或者Java HotSpot(TM)64-Bit Server VM warning:Insufficient space for shared memory

  9. jstl标签库示例一

    package app05a;/** * 书籍对象 * @author Administrator * */public class Book {        private String isbn ...

  10. Discuz!X 系列 HTTP_X_FORWARDED_FOR 绕过限制进行密码爆破

    分析有个不对头的地方:http://wooyun.jozxing.cc/static/bugs/wooyun-2014-080211.html 后面再补 这个漏洞比较简单. 我们看到配置文件来./in ...