我正在制作管理员小组。所以我想在页面加载时显示表中数据库的数据。我很困惑,我从div后端显示整个表或只放数据?
例如:
success:function(response){
$("#result").html(result);
}
将在结果div中显示整个表格。那将来自后端。
或
success:function(response){
$("#result").html('<table><tr><td>'+response.name+'</td><td>'+response.password+'</td></tr>');
}
如果这是在表格中打印数据的方式,那么它将立即打印该行。每个都不是完整的数据。
请帮我解决这个问题。
答案 0 :(得分:3)
将后端数据作为JSON输出显然会更好,并使用响应中的JSON在客户端构建表。主要原因是:
将来,如果您想要更改结构,或者如果您需要在不同的页面中使用相同的输出,以不同的方式,您不需要更改底层PHP,相反,您可以只是改变渲染机制。
让服务器发送如下的JSON输出:
[{
"name": "Praveen",
"age": 27
}, {
"name": "Kumar",
"age": 25
}]
让JavaScript完成剩下的工作。
var jsonResponse = [{
"name": "Praveen",
"age": 27
}, {
"name": "Kumar",
"age": 25
}];
$('body').append(function () {
var table = $('<table />');
var headr = $('<tr />');
headr.append('<th>Name</th>');
headr.append('<th>Age</th>');
headr.appendTo(table);
$.each(jsonResponse, function (i, v) {
var tr = $('<tr />');
tr.append('<td>' + v.name + '</td>');
tr.append('<td>' + v.age + '</td>');
tr.appendTo(table);
});
return table;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
你的两个选项都是正确的,但我发现分离逻辑和视图是很好的做法,这意味着在前端生成html视图是好的。
现在,要生成包含多行的表视图,您的响应数据应该正确构造,例如json对象数组。
如果你得到我的解释,那么你可以关注这篇文章: Loop through a JSON array to create a Table
让我知道任何疑问