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

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM