PHP - 无法正确发送JSON

时间:2014-04-22 14:12:59

标签: javascript php json

我不确定为什么这不起作用,因为互联网上的很多例子都建议这样做。无论如何,我有一个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: enter image description here

如果我简单地回显JSON,就可以在网页上显示工作正常而没有任何错误。我做错了什么?

3 个答案:

答案 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返回更改的值,不会通过引用对其进行修改。