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

原文地址:https://www.cnblogs.com/guofz/p/8849093.html

时间: 2024-10-11 12:10:19

AJAX 向后台发送带 List 集合的对象的相关文章

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

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

Ajax向后台发送数据

Ajax向后台发送数据,三种情况: 1:Ajax手动发数据 #GET 发数据<div> <a class="btn" onclick="AjaxSubmit1();">点我</a> </div> <script src="/static/js/jquery-3.2.0.js"></script> <script> function AjaxSubmit1() {

Ajax中自定义发送请求和处理响应对象

Ajax中自定义发送请求和处理响应对象 JavaScript内置一个称为XMLHttpRequest的对象,用于发起Ajax请求并处理Ajax响应.这个对象非常复杂,包含许多支持Ajax的特性和方法. readyState:请求的状态代码[0(未开始).1(开启).2(已传送).3(接收中).4(已载入)] status:HTTP的请求状态代码[404(找不到文件).200(OK)] onreadystatechange:请求状态改变时会被调用的函数引用,这个函数事件处理器就是处理响应的地方.

使用ajax向后台发送数据

第一种最原始的方式就是手动拼接json数组: var name="text"; $.ajax({ url:"". data:{'name':name} success:function(){ } }) data内为json数组 第二种便是将form表单序列号后传递给后台 原文地址:https://www.cnblogs.com/fanwenhao/p/8330041.html

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

后台: aContext.getResponse().getWriter().println("" + result); 前端: $.ajax({ url:encodeURI(encodeURI(url)), async :true, type:'post', success:function(result) { if(result.indexOf("true")!=-1){//重点在这!!! alert('设置成功!'); }else{ alert('设置失败!'

ajax加一般处理程序或ASP.NET 后台生成带着二维码的图片

ajax加一般处理程序生成带着二维码的图片 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head

后台发送请求,HttpClient的post,get各种请求,带header的请求

HttpClient依赖jar包: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> 写一个发送请求的工具类HttpUtil package com.bs.utils; import java.io

通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/

  前  言  PHP     通过上一篇博客,注册账号与登录页面--前后台数据交互  跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下: ① PHP中的数据传输-->>--在主页先添加基础HTML5基本框架,通过form表单提交数据 >>由主页传输给主页后台-->>主页后台经过转码保存实例化的文件 ②主页后台通过判断(是否保存文件)使用输出语句输出true或false,前台通过ajax中的post中的fu

ajax往后台传json格式数据报415错误

问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById("uuid").value; var idCard = document.getElementById("idCard").value; alert(uuId+idCard); // var result = new Object(); // result.uuId = uuI