我的数据库中有一系列元素。我使用ajax(POST程序)来获取它。现在我想创建一个包含这些元素的表。我不知道如何在jQuery中做到这一点。我有这个:
$.post('script.php',{login: '1'}, 'json').done(function(data) {
results = '';
data.table.forEach(function(row){
results += '<tr><td>' + row.name + '</td><td>' + row.lastname + '</td><td>' + row.data + '</td></tr>';
});
$('#MyTable tbody').html(results);
});
我的脚本看起来像:
header('Content-Type: application/json');
...
$result=mysql_query($query);
$table = array();
while($row=mysql_fetch_array($result)){
$table[] = $row;
}
$data['table'] = $table;
echo json_encode($data);
编辑: 我纠正了我的错误,现在我打开桌子时控制台出错了。它显示:
TypeError: data.forEach is not a function
有人知道这句话的结构应该如何?
答案 0 :(得分:1)
我看到你说你的php脚本有数据,所以我想问题应该是 这一行:
echo json_encode();
应该是
echo json_encode($data);
在你的javascript中我会这样做
$.post('script.php',{login: '1'}, function(data) {
results = '';
$.each(data.table, function(idx, row){
results += '<tr><td>' + row.name + '</td><td>' + row.lastanme + '</td><td>' + row.data + '</td></tr>';
});
$('#MyTable tbody').html(results);
});