如何使用JavaScript以行列格式存储带列名的表数据
解决方案
要实现将数据库列名与表单数据按表结构存入JavaScript数组,你可以按以下方式修改代码:
核心思路
- 创建空对象存储单条数据的键值对(键为数据库列名,值为表单对应字段值)
- 遍历所有列名,将列名和对应表单值逐一添加到对象中
- 将组装好的单条数据对象推入目标数组,最终得到与数据库表结构一致的数组
修改后的代码
function Insert(FormName, DivName) { $.ajax({ type: "POST", url: "" + FormName + ".aspx/GetData", data: '{}', contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { var xmlDoc = $.parseXML(response.d); var xml = $(xmlDoc); var Records = xml.find("Table"); if (Records.length > 0) { var DetailData = []; // 存储最终表结构数据的数组 var rowData = {}; // 存储单条数据的键值对 $.each(Records, function () { var record = $(this); var ColName = record.find("Column_name").text(); // 获取数据库列名 var ColValue = GetColumnsValue(ColName, DivName); // 获取表单对应字段值 // 将列名作为键,表单值作为值,添加到单条数据对象中 rowData[ColName] = ColValue; }); // 将组装好的单条数据推入数组 DetailData.push(rowData); // 可在此添加对DetailData的后续操作,比如打印验证 console.log(DetailData); } }, error: function (d) { alert(d.responseText); } }); }
说明
- 最终
DetailData数组的结构会是:[ { "StudentName": "Rock", "Roll_No": "101", "Subject": "English", "Marks": "98" } ] - 如果需要处理多行表单数据,只需在外层增加表单行的遍历逻辑,重复执行上述组装单条数据并推入数组的操作即可。
内容的提问来源于stack exchange,提问作者Shaiwal Tripathi
相关产品推荐
相关产品推荐

