Работа с массивом JavaScript

0

Привет У меня есть php-скрипт, который успешно получает массив данных из exsternal xml source, массив называется $ file, я знаю, что php-массив заполняется с помощью print_r ($ file).

Я попытался использовать следующий php для перехода к сессии javascript:

//Convert to JSON Array
$jsonarray = json_encode($file, JSON_FORCE_OBJECT);
$result["json_array"]=$jsonarray;

Но либо это не сработало, либо следующий код JS ниже неправильный:

var jsonarray = result["json_array"];

alert(JSON.stringify(jsonarray));

Может кто-нибудь, пожалуйста, скажите мне, где я ошибаюсь?

  • 0
    Вы смешиваете переменные PHP и JS?
  • 0
    Кроме того, вы можете использовать console.log () вместо предупреждения. Это даст вам больше информации о том, что содержится в объекте, передаваемом ему, особенно если вы имеете дело с массивами.
Теги:

2 ответа

1

Вам не следует использовать JSON.stringify. JSON.parse - это то, что вы ищете. Поскольку вы хотите разобрать существующий JSON, не создавайте новый JSON.

Изменение: ваш код немного нечетный. Я думаю, вам нужно что-то подобное

PHP

//Convert to JSON Array
echo json_encode($file, JSON_FORCE_OBJECT);

JS

alert(JSON.parse(data)); // Where data is the contents you've fetched from the server
0

Вы должны инкапсулировать PHP-код:

<?php
$jsonarray = json_encode($file, JSON_FORCE_OBJECT);
$result["json_array"]=$jsonarray;
?>

var jsonarray = <?= $result["json_array"] ?>;

alert(JSON.parse(jsonarray));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню