![](/img/trans.png)
[英]Json object returned from PHP with json_encode() , but then invalid json object in my javascript
[英]Invalid json from json_encode()
这是我的PHP文件(实际文件比较复杂,但是即使使用最简单的代码,我也发现它失败了):
<?php
$salida = array(1,2,3,4,5);
echo json_encode($salida);
?>
这是我得到的答复:
[1,2,3,4,5]
似乎是有效的,但事实并非如此。 当我将其传递给jQuery.parseJSON()函数时,我的AJAX应用会显示'Unexpected token'
。 当我将其粘贴到JSONLint网页时,返回相同的错误。
我注意到,如果删除第一个字符并再次键入它,则JSON变为有效。
这让我开始思考,我使用HEX编辑器检查了JSON字符串,并在文件开头发现了奇怪的字符:
[1,2,3,4,5]
这很奇怪,因为该功能直到几天前仍能正常工作,并且文件尚未修改。
<?php>
标记位于文件的开头,其编码为utf-8。
我在Windows 8.1上使用XAMPP 1.8.3。 我重新安装了XAMPP,以防万一某些东西坏了,但是json_enconde()
函数仍然无法正常工作。
有人知道该如何解决吗?
谢谢
您需要保存没有UTF8 BOM(字节顺序标记)的PHP文件(及其包含的所有文件)。 如何执行此操作取决于您的编辑器。 请注意,使用UTF8本身是完全可以的并且值得鼓励。 只是没有BOM。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.