我的网站本周突然停止了工作。我注意到的是,当我从服务器调用时,我发送到服务器的ajax调用会在数据末尾返回一个额外的'0'字符。 ie. {1:1, 2:2}0
在桌面浏览器中不会发生这种情况。当我尝试直接从浏览器访问.php时,我可以看到最后附加了'0'。同样,在桌面浏览器中,没有'0'。在不同的手机浏览器中,始终为“0”。这搞砸了我的ajax调用,因为我期待一个json返回值但是'0'字符是意外的。
我尝试在php处理程序的末尾添加die();
和exit;
,但没有什么区别。有谁知道还有什么可能是问题?
更新: 我没有使用任何php框架。
我已经将代码简化为基本上这样,并且仍然在末尾获得附加的0。
get_data.php
<?php
echo "ASD";
die();
?>
然后,我通过网络服务器http://domain.com/get_data.php访问它,我在页面中看到了ASD0。我直接访问它以消除它是ajax调用/ jquery问题的可能性。我还没有尝试在我的本地计算机上托管一个基本的xampp服务器,看看是否发生了同样的问题。现在,它正在register.com中的我们的网络服务器中托管。
答案 0 :(得分:1)
找到罪魁祸首,但不确定原因。它只在使用ATT数据连接时发生。使用WiFi和其他网络服务提供商时,它工作正常。
与PHP script has extra 0 at the end of the output on a cellular connection
相同的问题添加以下行修复了问题
header('Content-Type: text/plain; charset=utf-8');