使用 JavaScript 从 PHP Display 解析 JSON


parse json from php display with javascript

我有一个由两部分组成的问题。在PHP中,我使用fetch_assoc就像这篇文章的答案一样,它返回了一个对象数组。那么我的JS是:

var result = JSON.parse(response),
    output = "";
for (var i = 0; i < result.length; i++){
    var obj = result[i];
    output += "<div class='mysql_row'>";
    for (key in obj){
        output += "<div class='mysql_col'>" + obj.key. + "</div>";
    }
    output += "</div>";
}
document.getElementById('main_grid').innerHTML = output;

我在另一篇文章中读到,使用"key"应该给我值,但即使登录到控制台给了我一个字符串数组,我也得到了undefined

  1. 我做错了什么吗..在?
  2. 我对PHP不太有经验,有没有更优雅的方式来echo和显示数据?我的PHP代码:

    $load = $connect->query("SELECT * FROM `user` WHERE `role` = 2");
    $emp_proj = array();
    while ($row = $load->fetch_assoc()){
        $emp_proj[] = $row;
    };
    echo json_encode($emp_proj);
    
不是

obj.key给你你想要的值,而是obj[key]

var result = JSON.parse(response),
    output = "";
for (var i = 0; i < result.length; i++){
    var obj = result[i];
    output += "<div class='mysql_row'>";
    for (key in obj){
        output += "<div class='mysql_col'>" + obj[key] + "</div>";
    }
    output += "</div>";
}
document.getElementById('main_grid').innerHTML = output;

obj.key正在查看对象obj并检索其键是字符串"key"的属性。 obj[key]检索名称为变量 key 的值的属性。

var obj = {
    key: 5,
    username: "test"
};
var key = "username";
console.log(obj.key); // 5
console.log(obj[key]); // "test"
console.log(obj.username); // "test"
console.log(obj["username"]); // "test"