У меня возникла проблема с взаимодействием между PHP и JavaScript через JSON.обработка данных JSON, отправленных php с javascript
PHP-Script считывает данные из моей базы данных. Результат SQL состоит из 1 строки.
название | lat | lng
Kilian | 45.1252335 | 32.2142380
Он кодируется в формате JSON:
$query = "SELECT name, lat, lng FROM location l, user u WHERE u.email = l.email";
$result = mysqli_query ($dbc, $query) or die ('Error querying database.');
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
$to_encode[] = $row;
}
echo json_encode($to_encode);
Программа JavaScript загружает файл в формате JSON из PHP-скрипта (get_locations.php):
$.getJSON('get_locations.php', function (data) {
$.each(data, function(i, name) {
alert(name.parent_level);
});
});
Но нет никакого предупреждения в браузер. Если я проверяю отправленный JSON в Chrome, он просто говорит []. Как я могу получить отправленное имя, lat и lng?
Редактировать: Выходной сигнал get_locations.php в реальном мире равен []. Преобразование строки JSON в строку всегда приводило к [].
Вы уверены, что у пользователя есть результаты? Если это так, попробуйте с помощью нажатия на '$ to_enconde' использовать индекс вместо [] (по какой-то причине json_encode делает с этим странные вещи). – Think
Не могли бы вы добавить какой-то реальный мир из get_locations.php? В javascript 'console.log (data)' также может помочь. –