Значение объекта JSON из PHP

Я использую JSON в PHP, и теперь мне нужно получить к нему доступ из JavaScript. Как передать объект JSON в JavaScript?

<?php
    $array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
    $json = json_encode($array);
>

где My.js имеет:

showAll(){
    alert("Show All Json Objects");
    // How do I get the JSON value here?
}

Как мне это сделать?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
18 667
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете запросить данные JSON с помощью AJAX или передать данные из PHP в JavaScript как переменную JavaScript:

$array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
$json = json_encode($array);

echo '<script type = "text/javascript">';
echo 'var myJson = "' . $json . '";';
echo '</script>';

edit: вам нужно оценить строку json, иначе у вас будет просто строка, а не объект ...

Конечно, имея в виду все рекомендации по смешиванию PHP / HTML / JavaScript ...

Вместо этого я бы отправил +1 за то, что сделал это через ajax, поскольку тогда вы можете просто оценить возвращенный фрагмент json, и вам не нужно беспокоиться о смешивании php / javascript / html.

localshred 20.01.2009 10:25
Ответ принят как подходящий

Предполагая, что вы используете Ajax в качестве метода загрузки JSON, вы должны повторить результат json_encode:

<?php
    $array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");

    echo json_encode($array);
?>

А затем в событии обратного вызова вы оцените ответ:

var obj = eval('(' + req.ResponseText + ')');
for(var i in obj) {
    alert(i + ': ' + obj[i]);
}

Предполагая, что у вас есть объект XMLHttpRequest с именем req.

<?php
$array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
$json = json_encode($array);
?>
<script type = "text/javascript">
var myjson = <?php echo $json; ?>;
</script>

На самом деле это лучший ответ, вы можете поместить данные JSON прямо в javascript, как в ответе, он задокументирован на официальная страница json. Спасибо.

s3m3n 17.05.2013 03:26

Другие вопросы по теме