我有一个由两部分组成的问题。在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
。
- 我做错了什么吗..在?
我对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"