У меня возникла проблема с циклом через массив, который был передан из PHP через запрос Ajax.Loop Through json_encoded PHP Array в JavaScript
По какой-то причине мой 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);
?>
ответ, который я получаю выглядит следующим образом:
["Test Person","Test2 Person"]
Однако, если я пройду через это с помощью javascript или просто распечатать response[0]
Я получаю каждый символ как часть массива. Первый элемент будет [
, рядом будет "
и т.д.
Я хотел бы Test Person
, чтобы быть одним из элементов и Test2 Person
быть другим.
Кто-нибудь знает, что я делаю неправильно? Благодаря!
Вы можете сделать это, или вы можете просто позволить jQuery сделать это для вас, установив тип данных. Еще лучше, исправьте сервер, чтобы он возвращал 'text/json', и jQuery будет делать это автоматически –
Спасибо. Я действительно предпочитаю этот метод по сравнению с типом данных, поскольку я вижу, что происходит последовательно. – Nicolas