JavaScript获取后端json数据创建表格

怎么在前端获取后端数据生成表格json

javascript 复制代码
  $.ajax({
            url: '/Resource/GetResource',
            data: { searchText: searchText },
            success: function (response) {
                /*searchResult.innerHTML = response;*/
                console.log('输入框 :', response);
                // 假设你有一个具有 id 为 "tableContainer" 的 HTML 元素用于显示表格
                var tableContainer = document.getElementById("centerbox");
                // 解析 JSON 字符串
                var data = JSON.parse(response);
                // 创建表格元素
                var table = document.createElement("table");
                table.className = "table table-hover table-striped";
                // 创建表头
                var thead = document.createElement("thead");
                var headerRow = document.createElement("tr");
                Object.keys(data[0]).forEach(function (key) {
                    var th = document.createElement("th");
                    th.textContent = key;
                    headerRow.appendChild(th);
                });
                // 添加编辑和删除表头
                var actionTh = document.createElement("th");
                actionTh.textContent = "操作";
                headerRow.appendChild(actionTh);
                thead.appendChild(headerRow);
                table.appendChild(thead);
                // 创建表格内容
                var tbody = document.createElement("tbody");
                data.forEach(function (row) {
                    var tr = document.createElement("tr");
                    Object.values(row).forEach(function (value,index) {
                        var td = document.createElement("td");
                        td.textContent = value;
                        tr.appendChild(td);
                        if (index === 1) {
                            // 隐藏第二列的数据,创建一个按钮来显示数据
                            var button = document.createElement("button");
                            button.textContent = "Show Data打开";
                            button.addEventListener("click", function () {
                                // 点击按钮时显示第二列的数据
                                td.style.display = "table-cell";
                                button.style.display = "none";
                            });
                            tr.appendChild(button);
                        }
                    });

                    // 添加编辑和删除按钮
                    var editButton = document.createElement("button");
                    editButton.textContent = "Edit";
                    editButton.addEventListener("click", function () {
                        // 编辑按钮点击事件处理程序
                        // 在这里编写编辑逻辑
                        console.log("Edit button clicked for row:", row);
                    });
                    tr.appendChild(editButton);

                    var deleteButton = document.createElement("button");
                    deleteButton.textContent = "Delete";
                    deleteButton.addEventListener("click", function () {
                        // 删除按钮点击事件处理程序
                        // 在这里编写删除逻辑
                        console.log("Delete button clicked for row:", row);
                    });
                    tr.appendChild(deleteButton);

                    tbody.appendChild(tr);
                });
                
                table.appendChild(tbody);

                // 将表格添加到容器中
                tableContainer.appendChild(table);
            }
        });
相关推荐
弓.长.31 分钟前
React Native 鸿蒙跨平台开发:BottomSheet 底部面板详解
javascript·react native·react.js
摘星编程1 小时前
React Native for OpenHarmony 实战:Permissions 权限管理详解
javascript·react native·react.js
闲蛋小超人笑嘻嘻1 小时前
Vue 插槽:从基础到进阶
前端·javascript·vue.js
摘星编程1 小时前
React Native for OpenHarmony 实战:SearchBar 搜索栏详解
javascript·react native·react.js
wtsolutions3 小时前
Understanding Excel Data Formats - What Excel to JSON Supports
ui·json·excel
梦6504 小时前
Vue 单页面应用 (SPA) 与 多页面应用 (MPA) 对比
前端·javascript·vue.js
清铎4 小时前
大模型训练_week3_day15_Llama概念_《穷途末路》
前端·javascript·人工智能·深度学习·自然语言处理·easyui
岛泪4 小时前
把 el-cascader 的 options 平铺为一维数组(只要叶子节点)
前端·javascript·vue.js
lendsomething4 小时前
graalvm使用实战:在java中执行js脚本
java·开发语言·javascript·graalvm
冰暮流星5 小时前
javascript的switch语句介绍
java·前端·javascript