zoukankan      html  css  js  c++  java
  • 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格式的参数并不是本例中的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

        

  • 相关阅读:
    线段树的一种简化实现[原] by 踏雪赤兔
    C 语言qsort 函数详解
    【转载】Amit’s A star Page 中译文
    Poj3468 线段树 成段更新
    在VMware的CentOS中运行Cadence IC 615的怪现象
    安装非认证的chrome插件和设置文件夹的权限
    [模拟IC]基础知识1
    如何删除 Windows.old 文件夹?
    美国签证面签经历
    三个不同属性的GTD工具
  • 原文地址:https://www.cnblogs.com/guofz/p/8849093.html
Copyright © 2011-2022 走看看