2015-11-07 81 views
-1

使用AsyncHttp 1.4.4庫,以獲得從PHP腳本的數據我'。在發送新的發佈請求時,iam得到一個奇怪的響應,響應成爲頁面本身的來源。每次我使用asyncHttpClient都會發生這種情況。我無法弄清楚爲什麼。請幫我解決這個問題。奇怪的PHP響應

PHP代碼:

<?php 

echo "1"; 

?> 

AsyncHttpClient對象:

new AsyncHttpClient().post("http://mywamp.hostei.com/check.php",rp,new AsyncHttpResponseHandler(){ 
       @Override 
       public void onSuccess(String response) 
       { 
        Log.d("Home","check "+ response); 

       } 
       @Override 
       public void onFailure(int code,Throwable t,String err) 
       { 
        Log.d("Home","error "+ err); 
       } 
       }); 

的logcat:

11-07 20:02:26.212: D/Home(53981429): check 1 
11-07 20:02:26.212: D/Home(53981429): &lt!-- Hosting24 Analytics Code --&gt 
11-07 20:02:26.212: D/Home(53981429): &ltscript&gt type="text/javascript" src="http://stats.hosting24.com/count.php"> &lt/script&gt 
11-07 20:02:26.212: D/Home(53981429): &lt!-- End Of Analytics Code --&gt 

去掉了一些箭頭,因爲腳本標記正確的werent顯示。

+0

「刪除了一些箭頭,因爲腳本標籤顯示的werent正確的「。爲了避免這個問題後它的代碼塊,或更換'<'和''< – Pshemo

+0

@memo Yes..the PHP腳本在我的免費服務器mywamp.hostei.com確實存在 – Siva

+1

這是一個「免費託管」的事情,每個網頁有從主機注入的廣告或東西? – mjp66

回答

1

如果使用POST到您的請求發送到這個特定頁面我建議改變PHP來像下面這樣,給一個嘗試:

<?php 
    if($_SERVER['REQUEST_METHOD']=='POST'){ 

     /* clean/empty any output buffers without sending data */ 
     @ob_clean(); 

     /* send some data to your async request */ 
     echo json_encode(array('data'=>1, 'time'=>time()), JSON_FORCE_OBJECT ); 

     exit(); 
    } 
?> 
+0

謝謝。這工作! – Siva

+0

:-)好東西〜你的虛擬主機可能不喜歡它,但.... – RamRaider

0

它看起來並不像你所得到的響應頁面的PHP源。如果您要在Web瀏覽器中加載該頁面並單擊「查看源代碼」,則看起來您只會獲得將呈現給瀏覽器的相同內容。你期望在這裏發生其他事情嗎?

看來,你得到一個<script>標籤,你是不是在你的反應,這是造成一些混亂期待。您需要查看您在PHP服務器上配置了哪些腳本標記才能添加到響應中。

+0

是的,我希望只有「1」返回從PHP腳本,而不是觀看源代碼響應。其他的PHP腳本不這樣做。 – Siva

+0

如果您在瀏覽器中訪問該頁面,並點擊「查看源代碼」,那麼腳本代碼是否存在? –