从 JavaScript 中的 PHP 对象中提取 mySQL 查询结果
Extracting mySQL query result from PHP object in JavaScript
如果之前有人问过这个问题,我深表歉意,但我似乎无法让他们为我工作。 PHP 脚本将数据库结果传递给 JavaScript,如下所示:
$queryResult = mysqli_query($dbase, $query);
if ($queryResult) {
$result = array();
while($row = mysqli_fetch_array($queryResult)) {
$result[] = $row;
}
}
echo json_encode($result);
JavaScript 然后通过 AJAX (console.log 的结果):
[{"id":"1","name":"Babe Ruth","loginID":"babe","loginPW":"babe123"}]
我试过JSON.stringify,Object.keys(arr),foreach ($arr as $key => $value), for(i in arr), 但都没有成功.
如何将其读作键值对?
TIA。
我认为您正在寻找 JSON.parse
,例如
var user = JSON.parse(response)[0];
// Should print "Babe Ruth"
console.log(user.name);
您复制的内容看起来像一个包含一个对象的 JS 数组。
假设您的数组是 arr
那么:
var obj = arr[0];
console.log(obj.id);
如果您粘贴的实际上是一个字符串,那么您需要使用 var arr = JSON.parse(response);
解析该 JSON 字符串,然后按上述方法继续。
您应该得到响应的索引 0
,然后您可以操作您的对象。
var response = [{"id":"1","name":"Babe Ruth","loginID":"babe","loginPW":"babe123"}];
response = response[0];
console.log(response.id);
您的响应是对象数组,您可以使用下一个代码:
var users = JSON.parse(response);
for(var objId in users) {
// here you can use construction users[objId].your_key
console.log('id', users[objId].id);
console.log('name', users[objId].name);
console.log('loginID', users[objId].loginID);
console.log('loginPW', users[objId].loginPW);
}
如果之前有人问过这个问题,我深表歉意,但我似乎无法让他们为我工作。 PHP 脚本将数据库结果传递给 JavaScript,如下所示:
$queryResult = mysqli_query($dbase, $query);
if ($queryResult) {
$result = array();
while($row = mysqli_fetch_array($queryResult)) {
$result[] = $row;
}
}
echo json_encode($result);
JavaScript 然后通过 AJAX (console.log 的结果):
[{"id":"1","name":"Babe Ruth","loginID":"babe","loginPW":"babe123"}]
我试过JSON.stringify,Object.keys(arr),foreach ($arr as $key => $value), for(i in arr), 但都没有成功.
如何将其读作键值对?
TIA。
我认为您正在寻找 JSON.parse
,例如
var user = JSON.parse(response)[0];
// Should print "Babe Ruth"
console.log(user.name);
您复制的内容看起来像一个包含一个对象的 JS 数组。
假设您的数组是 arr
那么:
var obj = arr[0];
console.log(obj.id);
如果您粘贴的实际上是一个字符串,那么您需要使用 var arr = JSON.parse(response);
解析该 JSON 字符串,然后按上述方法继续。
您应该得到响应的索引 0
,然后您可以操作您的对象。
var response = [{"id":"1","name":"Babe Ruth","loginID":"babe","loginPW":"babe123"}];
response = response[0];
console.log(response.id);
您的响应是对象数组,您可以使用下一个代码:
var users = JSON.parse(response);
for(var objId in users) {
// here you can use construction users[objId].your_key
console.log('id', users[objId].id);
console.log('name', users[objId].name);
console.log('loginID', users[objId].loginID);
console.log('loginPW', users[objId].loginPW);
}