JSON object value from PHP
18,691
Solution 1
Assuming that you're using Ajax as your method to download the JSON, you would echo the result of the json_encode:
<?php
$array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
echo json_encode($array);
?>
And then within your call back event, you'd eval the response:
var obj = eval('(' + req.ResponseText + ')');
for(var i in obj) {
alert(i + ': ' + obj[i]);
}
Assuming that you have an XMLHttpRequest object with the name req
.
Solution 2
<?php
$array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
$json = json_encode($array);
?>
<script type="text/javascript">
var myjson = <?php echo $json; ?>;
</script>
Solution 3
You could request the JSON data with AJAX or you could pass the data from PHP to JavaScript as a JavaScript variable:
$array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
$json = json_encode($array);
echo '<script type="text/javascript">';
echo 'var myJson = "' . $json . '";';
echo '</script>';
edit: you have to eval the json string, otherwise you will just have a string not a object...
Off course keeping in mind all the guidelines about mixing PHP/HTML/JavaScript...
Comments
-
venkatachalam almost 2 years
I am using JSON in PHP, and now I need to access it from JavaScript. How do I pass a JSON object to JavaScript?
<?php $array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus"); $json = json_encode($array); >
where My.js has:
showAll(){ alert("Show All Json Objects"); // How do I get the JSON value here? }
How can I do it?