我在遍历通过 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/