php - 无法从 PHP json_encode 解析 JS 中的 JSON 对象

标签 php javascript json parameters

我有一个 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>';

最佳答案

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

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

所以在你的函数中,它只是:

alert(inArr.m) //1

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

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

关于php - 无法从 PHP json_encode 解析 JS 中的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10777473/

相关文章:

PHP if 语句 mysqli_num_rows 不起作用

javascript - JavaScript 中的异步函数是什么? JavaScript 中的 "async"和 "await"是什么?

javascript - 如何查找当前时间是否存在于给定的时间段中并查找日期是否存在于给定的天数数组之间

javascript - 扩展时如何合并而不是替换对象

java - 使用 Apache CXF 通过 REST 解析 String[] 请求参数

xml - 使用 XSLT 将此 XML 转换为 JSON

php - JQGrid 使用 OnSelectRow 在另一个网格上加载数据

php - 尝试让登录识别管理员

javascript - 根据键/值从 JSON 数组中删除条目

php - 更新一列中的一个数据名称,同一列中所有具有相同名称的数据也会更新