我不确定为什么这不起作用,因为互联网上的很多例子都建议这样做。无论如何,我有一个SQL结果,我已经转换为JSON,现在我尝试使用Javascript。
json_encode($test, true); ?>
<script type="text/javascript">
var obj = (<?php echo $test; ?>);
alert(obj.toSource());
</script>
这不起作用,Chrome给了我一个错误的&#34;非法字符&#34;并且Javascript变量以某种方式显示来自PHP服务器的一些x-debug HTML:
如果我简单地回显JSON,就可以在网页上显示工作正常而没有任何错误。我做错了什么?
答案 0 :(得分:4)
这样做:
$test = json_encode($test, true);
json_encode
无法更改变量。
答案 1 :(得分:1)
你在这里做了几件事......
json_encode($test, true);
我认为您可能正在考虑json_decode
,但json_encode
的第二个参数应该是选项的位掩码。在这里传递true
可能是错误的。
@ElmoVanKielmo也是正确的,因为你调用一个函数变量没有改变,你必须将变量重新赋值给返回值。
答案 2 :(得分:0)
你有一个hmtl看起来像是一个xdebug错误/通知消息。在继续之前修复它! (你剪掉了放置信息的部分。)
另外,您没有正确编码$ test。 json_encode返回更改的值,不会通过引用对其进行修改。