本文介绍如何利用jQuery的AJAX功能从后台获取JSON格式数据,并通过JavaScript解析该字符串,动态拼接HTML表格行(tr)与单元格(td),最终将结果插入到前端页面的tbody中,实现数据的动态展示。
JSON数据前端表格渲染方案概述
在近期开发过程中,遇到一个常见需求:如何将后端返回的JSON数组数据在前端页面中以表格形式展示。经过查阅资料与实践,已找到可行的解决方案。具体实现逻辑如下所示。
需要注意的是,前提条件是后端通过接口返回的JSON字符串必须符合标准规范,否则前端解析时会出错。此处省略后端从数据库获取数据并生成JSON字符串的代码部分。
前端JavaScript实现逻辑
第一步,编写前端JavaScript代码。在开始编码前,请确保已在页面中引入JQuery库文件,以便使用其提供的便捷方法。
$.ajax({
type: "GET",
url: "UserList.ashx?Action=List",//利用ajax请求后台的并返回值
// data: "json",
success: function (result) {//result为后台返回的值,是json字符串的形式
// alert(result);
var obj = JSON.parse(result);//解析json字符串为json对象形式
var trStr = '';//动态拼接table
// var html = '';
for (var i = 0; i < obj.length; i++) {//循环遍历出json对象中的每一个数据并显示在对应的td中
trStr += '<tr class="example">';//拼接处规范的表格形式
trStr += '<td width="15%" style="display:none" id="user">' + obj[i].NVFID + '</td>';//数据表的主键值
trStr += '<td width="15%">' + obj[i].USERCODE + '</td>';//对应数组表的字段值
trStr += '<td width="15%">' + obj[i].USERNAME + '</td>';
trStr += '<td width="15%">' + obj[i].USERPWD + '</td>';
trStr += '<td>' + obj[i].PHONEIMEI + '</td>';
trStr += '<td>' + obj[i].BMMC + '</td>';
/*经典之处,要将主键对应的值以json的形式进行传递,才能在后台使用*/
trStr += "<td><a href='#'style='text-decoration:none' onclick='Delete(\"" + obj[i].NVFID + "\")'>删除</a><td>";
trStr += '</tr>';
}
$("#tbody").html(trStr);//运用html方法将拼接的table添加到tbody中return;
},
error: function (error) {
alert(error);
}
});
HTML表格结构定义
第二步,编写前端HTML结构代码,用于定义表格的基本框架。
<div>
<!-- 显示后台数据的表格 -->
<table id="mainTable" class="display hover" border="1">
<thead>
<tr>
<th>用户编号</th>
<th>用户名称</th>
<th>用户密码</th>
<th>手机号码</th>
<th>部门名称</th>
<th width="10%">操作</th>
</tr>
</thead>
<tbody id="tbody">
<tr id="content" class="example">
<td id="UserCode">2</td>
<td id="UserName">2</td>
<td id="UserPwd">2</td>
<td id="Bmmc">2</td>
<td id="Phone">2</td>
</tr>
</tbody>
</table>
</div>
以上即为完整的实现方案,希望本文内容能对各位开发者在学习或实际工作中有所帮助。如果对您有启发,欢迎支持本站更多内容。