使用javascript从php显示解析json

时间:2014-10-21 02:41:52

标签: javascript php mysql json

我有两个问题。在PHP中,我在this post的答案中使用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;

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

  1. 我的for..in?
  2. 我做错了什么
  3. 我对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);
    

1 个答案:

答案 0 :(得分:1)

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" 的值的属性。

{{1}}