Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中从PHP对象提取mySQL查询结果_Javascript_Php_Mysql_Ajax_Arrayobject - Fatal编程技术网

JavaScript中从PHP对象提取mySQL查询结果

JavaScript中从PHP对象提取mySQL查询结果,javascript,php,mysql,ajax,arrayobject,Javascript,Php,Mysql,Ajax,Arrayobject,如果以前有人问过这个问题,我很抱歉,但我似乎无法让他们为我工作。PHP脚本将数据库结果传递给JavaScript,如下所示: $queryResult = mysqli_query($dbase, $query); if ($queryResult) { $result = array(); while($row = mysqli_fetch_array($queryResult)) { $result[] = $row; } } echo json_encode(

如果以前有人问过这个问题,我很抱歉,但我似乎无法让他们为我工作。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的结果)接收此消息:

我尝试了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);

我认为您正在寻找
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字符串并按照上面提到的继续。

您复制的内容看起来像一个包含一个对象的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);

您应该获得响应的索引
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);
}

如果响应是对象数组,则可以使用下一个代码:

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);
}

尝试Json.parse(),如下所述:谢谢。显然,这是正确的方法,尽管它必须使用id键访问,正如Vasya所指出的(标记的答案)。显然,这是正确的方法,尽管它必须用id键访问,正如Vasya所指出的(标记的答案)。非常感谢你,Vasya Zhuryk!它终于成功了。非常感谢你,瓦西亚·朱里克!最后,它工作得很好。谢谢你的建议,但它只是返回未定义。我尝试了你原来发布的代码,但一定错过了你的编辑。这也行得通。谢谢你,J0sh0nat0r。谢谢你的建议,但它只是返回未定义。我尝试了你原来发布的代码,但一定错过了你的编辑。这也行得通。谢谢你,J0sh0nat0r。谢谢你的建议,但它刚刚返回未定义。谢谢你的建议,但它刚刚返回未定义。谢谢你的建议,但它刚刚返回未定义。谢谢你的建议,但它刚刚返回未定义。