在同一个脚本中将JSON对象从php传递给javascript

时间:2011-10-24 17:55:14

标签: php javascript json

这可能是一个简单的问题,但我还没有找到一个完整而具体的答案。我使用json_encode()在php中创建了一个json对象,现在我只需要在javascript中获取该对象并将其解析出来。我想在同一个脚本中执行此操作,但如果需要,我可以采用另一种方式。

我如何从javascript获取此对象?

5 个答案:

答案 0 :(得分:5)

<?php

$stuff = array('a' => 1, 'b' => 2);

?>

<script type="text/javascript">
  var stuff = <?php print json_encode($stuff); ?>;
  alert(stuff.a); // 1
</script>

答案 1 :(得分:2)

<?php
    $x = array(1,2,3);
?>

<script type="text/javascript">
   var x = <?php echo json_encode($x);
</script>

会产生

<script type="text/javascript">
   var x = [1,2,3];
</script>

答案 2 :(得分:2)

如果全部在同一个脚本中,您只需echo进入页面。

$my_json = json_encode($some_object);
echo '<script type="text/javascript">';
echo "var my_js_obj = $my_json;";
echo '</script>';

此后,javascript可以访问my_js_obj变量。

答案 3 :(得分:2)

我相信你想做这样的事情:

<script>
    var jsVar = <?php echo json_encode($phpData); ?>;
</script>

您只需回显JSON字符串,因为这是JavaScript理解的语法(JSON = JavaScript Object Notation)。

答案 4 :(得分:2)

让我们说你的php看起来像这样:

<?php
    $myData = json_encode($some_data);
?>

然后在你的javascript中你可以通过回显该变量的值将这个php变量分配给这样的对象。

<script type="text/javascript">
    var myObj = <?=$myData;?>;
</script>