我不确定自己是否做得正确,但如果有人能解释一下这个过程,我会很感激。
在我的 main.php 文件中,我有一个带有 onclick 函数的 div。
<div class='show_products' onclick='getData(".$id.")'>
jQuery函数:
function getData(id){
$.ajax({
url: 'ajax_info.php',
type: 'POST',
dataType:'json',
data: {id: id},
success: function(response) {
console.log(response); //shows a list of objects (array elements)
}
});
}
以及ajax文件
$sql = "SELECT ......";
$results = Db::getInstance()->ExecuteS($sql);
foreach($results as $row) {
$product_id = $row['product_id'];
$date = $row['date'];
$name = $row['name'];
$array_info['product_id'] = $product_id;
$array_info['date'] = $date;
$array_info['name'] = $name;
}
echo json_encode($array_info);
以上代码返回在ajax文件中创建的数组,返回给jquery的成功函数。
我不明白的是: 我该如何浏览数组并在main.php文件中使用它?我想遍历它并用数组中的值创建一个表。 意味着3列,产品ID-日期-名称,它们将由从ajax返回的数组填充。
这是否可能或者我做错了?
欢迎任何帮助。
编辑: 更新jquery代码。
function getData(id){
$.ajax({
url: 'ajax_info.php',
type: 'POST',
dataType:'json',
data: {id: id},
success: function(response) {
document.getElementById('table_'+id).style.display='block';
for ( var i = 0; i < response.length; i++ ) {
console.log(response[i]);
var div = document.getElementById('table_'+id);
div.innerHTML = div.innerHTML + '<tr><td>'+response[i].product_id+'</td><td></td><td></td><td></td><td></td></tr>';
}
}
});
}