2

我在 PHP 中有一个数组,我用 _json_encode(..)_ 将它打包到 JSON 对象中。然后我将它作为参数发送给 JS 函数。当我想用eval(..)解析 Javascript 中的对象时,什么也没有发生(我猜窗帘后面有一个错误)。有什么问题?
代码:

<script type="text/javascript">
    function testFun(inArr) {
      var obj=eval('('+inArr+')');
      alert(obj.m); //alert(obj) also doesnt work
    }
</script>  


//PHP
$spola_array = array('m' => 1, 'z' => 2);
$json_obj=json_encode($spola_array);
echo '<script type="text/javascript">testFun('.$json_obj.');</script>';
4

1 回答 1

5

它已经被解析,因为您将它作为对象文字而不是字符串输出。这看起来像:

<script type="text/javascript">testFun({m: 1, z: 2});</script>

所以在你的功能中,它只是:

alert(inArr.m) //1

如果它是一个字符串,您只需要解析它:

<script type="text/javascript">testFun('{m: 1, z: 2}');</script>
于 2012-05-27T21:42:30.897 回答