2014-09-18 42 views
2

我的網站突然停止工作。我注意到,我發送給我的服務器的ajax呼叫在從手機呼叫時在數據末尾返回一個額外的'0'字符。 ie. {1:1, 2:2}0PHP在手機瀏覽器中末尾添加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網站服務器上託管。

+3

我們要需要看到一些代碼... – JAAulde 2014-09-18 20:59:50

+1

PHP本身無法檢測到使用的瀏覽器,並做一些事情其他基於此。除非你告訴它這樣做。 – 2014-09-18 21:00:21

+0

您是否使用了一些庫或引導程序?前段時間我有一個類似的問題,它基於bootstraps自己js – 2014-09-18 21:03:15

回答

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'); 
+0

我與AT&T mobile使用最新的PHP和Apache有同樣的問題,並且可以證實這解決了這個問題。 – zpr 2014-09-21 13:49:07