如何从PHP传递多维数组到Javascript



我试图从JSON字符串获得数组值,我做的工作与json_decode PHP。

<?php
$jsonContent=file_get_contents('http://megarkarsa.com/gpsjson.php');
$jsonDecoded=json_decode($jsonContent,true);
foreach($jsonEncoded['BMS'] as $p){
echo '
ID: '.$p['id'].'
Tipe: '.$p['type'].'
';
echo "<br>";
?>

PHP代码工作,并给出JSON字符串数组的结果。这是我的Javascript代码

<script>
var bmsdata = <?php echo $jsonDecoded ?>;
alert(bmsdata["1"].id); // For check, i want to see the id of row 1
</script>

但是什么也没有出现。到目前为止我做得对吗?或者我错过了一些东西传递值从PHP到Javascript?

$jsonDecoded为解码后的json。

请换

var bmsdata = <?php echo $jsonDecoded ?>;

var bmsdata = <?php echo json_encode($jsonDecoded); ?>;

或者使用已经存在的变量$jsonContent:

var bmsdata = <?php echo $jsonContent; ?>;

这个应该可以工作,因为我在http://megarkarsa.com/gpsjson.php上查找JSON;)

<script>
var bmsdata = <?php echo json_encode($jsonDecoded); ?>;
alert(bmsdata.BMS["1"].id); // For check, i want to see the id of row 1
</script>

你忘了'BMS'键;)

看起来您正在向javascript中注入经过解码的php数据表示。您可能(如果您想继续这样做)想要返回编码版本(jsonContent)。

最终,您可能需要重新考虑该方法。通过ajax获取数据通常是一种更简单的方法,因为您不需要担心通过php编写纯javascript,因为php有各种转义问题。

相关内容

  • 没有找到相关文章

最新更新