从数组

时间:2016-01-28 01:20:56

标签: jquery arrays ajax post

我的数据库中有一系列元素。我使用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

有人知道这句话的结构应该如何?

1 个答案:

答案 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);

});