Я использую 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? }
Как мне это сделать?
Предполагая, что вы используете 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 с помощью 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 …