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);
            }
        });
相关推荐
syagain_zsx1 小时前
jsoncpp 使用指南:编译链接、Json::Value 取值与高频坑
c++·json·库·http格式
_菜鸟果果2 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript
迷途小羔羊2 小时前
项目概述
java·javascript·后端
迷迭绿2 小时前
Cesium 轨迹回放播放器
前端·javascript·cesium
tryCbest4 小时前
Vue3——第 7 篇:组件基础——从注册到使用的完整流程
前端·javascript·vue.js
数据狐(Datafox)6 小时前
一文读懂京东商品详情 API:返回字段解读与 JSON 样例
开发语言·数据库·爬虫·json
Eastmount7 小时前
[论文阅读] (54)NDSS26 JSIMPLIFIER:动静态与LLM如何协同完成JavaScript解混淆?
javascript·论文阅读·恶意代码分析·智能体安全·ndss
Ai-_Man7 小时前
ChatGPT还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·javascript·人工智能·chatgpt·小程序·ecmascript
miofly7 小时前
GitHub 今日推荐|security-audit-skill:让编码代理自己审计漏洞还互相验证
javascript·开源·github