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