Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从PHP JSON_encode解析JS中的JSON对象_Php_Javascript_Json_Parameters - Fatal编程技术网

无法从PHP JSON_encode解析JS中的JSON对象

无法从PHP JSON_encode解析JS中的JSON对象,php,javascript,json,parameters,Php,Javascript,Json,Parameters,我在PHP中有一个数组,我用_JSON_encode(..)打包到JSON对象。然后我将其作为参数发送给JS函数。当我想用eval(..)解析Javascript中的对象时,什么都不会发生(我猜窗帘后面有一个错误)。有什么问题吗? 代码: 函数testFun(inArr){ var obj=eval(‘(‘+inArr+’)’); 警报(obj.m);//警报(obj)也不起作用 } //PHP $spola_数组=数组('m'=>1,'z'=>2); $json_obj=json_encod

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


函数testFun(inArr){
var obj=eval(‘(‘+inArr+’)’);
警报(obj.m);//警报(obj)也不起作用
}
//PHP
$spola_数组=数组('m'=>1,'z'=>2);
$json_obj=json_encode($spola_数组);
echo“testFun(“.$json_obj”);

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

<script type="text/javascript">testFun({m: 1, z: 2});</script>
如果它是字符串,则只需对其进行分析:

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

非常感谢您的光临。在过去的几个小时里都没能弄清楚,没问题。顺便说一句,有时候它可以帮助用console.log调试类似的东西。它通常提供比警报更好的格式化输出。此console.log在哪里?编辑:你是说萤火虫吗?我以前从未使用过它,也许我应该开始:)它只是Chrome和IE开发工具公开的一个函数,也是Firefox中Firebug公开的一个函数。您只需像
console.log(“test!”)一样使用它
console.log(someVar)它不打算在生产代码中使用。这只是执行
警报(someVar)
的一种稍微有用的方法。它通常包含一些关于变量类型的信息,对于对象文本,它将显示它们是对象,并显示定义了哪些键。谢谢,这是一条很好的建议。
alert(inArr.m) //1
<script type="text/javascript">testFun('{m: 1, z: 2}');</script>