javascript - 在 JavaScript 中循环遍历 json_encode PHP 数组

标签 javascript php jquery

我在遍历通过 Ajax 请求从 PHP 传递的数组时遇到问题。

出于某种原因,我的 javascript 认为要么每个字符都是数组的一部分,要么我的响应变量只是作为字符串传递。

这是我的javascript:

<script>        
    $(function() {
        $.ajax({
            url: "/dev/editButton/get_names.php",
            success: function(response) {
                console.log(response);
            }
        });
    });
</script>

这是我的 PHP:

<?php
include '../portfolio/libraries/settings.php';

$connect = mysqli_connect($HOST, $DB_USER, $DB_PASS, $DATABASE);
$query = "SELECT * FROM AUTH_User";
$result = mysqli_query($connect, $query);

$names = array(); 

while ($row = mysqli_fetch_array($result)) {
    array_push($names, $row['FirstName']." ".$row['LastName']);
}

echo json_encode($names);
?>

我得到的响应如下所示:

["测试人员","测试人员2"]

但是,如果我使用 javascript 遍历它或只是打印出 response[0],我会将每个字符作为数组的一部分。第一个元素是 [,接下来是 ",等等。

我希望 Test Person 成为一个元素,而 Test2 Person 成为另一个元素。

有人知道我做错了什么吗?谢谢!

最佳答案

您需要在响应中使用 JSON.parse。如果不调用该函数,您只是获取 JavaScript 字符串中字符的索引。

 var resultArray = JSON.parse(response);
 resultArray[0];   //Should Be "test Person"

关于javascript - 在 JavaScript 中循环遍历 json_encode PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743096/

相关文章:

javascript - 无法在 php/javascript 中选择 foreach 循环中的所有其他复选框

javascript - Node.js 循环和 JSON 构建

javascript - JSON.stringify = 非法访问

javascript - 安装 InboxSDK chrome 扩展后,Gmail 消息 "Show details"弹出框在鼠标悬停时隐藏

javascript - 如何从过期的 Kuzzle token 服务器端恢复?

PHP - 字符串中的语句

javascript - 粘贴文本时基于字数限制文本输入的 jQuery 函数不起作用

php - 使用 PHP 从数据库表中选择最高 ID

android - 使用 jQuery 和 PhoneGap 在 Android 中不显示图像,但在 iPhone 中同样有效

javascript - 加载对话框预加载页面