2014-10-01 152 views
0

我發送數據到一個JavaScript腳本的功能從一個PHP腳本的幫助下ajax。隱藏php的echo輸出

echo json_encode($rows); 

我遇到的問題是,我運行PHP腳本權在頁面加載時,輸出隨後的頁面,我其實不希望顯示在顯示器上。我試圖用ob_end_clean()隱藏回顯,但這有點違反了一切。

+0

更將只運行細節要求。你是否在用ajax調用請求相同的頁面?另外ajax正在做一個GET或POST?你如何處理頁面中的呼叫? – mithunsatheesh 2014-10-01 04:28:30

+0

該頁面運行一個包含類型爲GET的ajax調用的js文件。我實際上在做的是,PHP腳本發送文本評論從數據庫到這個JavaScript文件,所以它可以在頁面上顯示它們 – drakon135 2014-10-01 04:33:08

回答

4

我相信你正在Ajax請求相同的頁面,在這種情況下,你可以檢查請求的AJAX這樣

/* AJAX check */ 
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && 
    strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { 
    /* your ajax here code will go here */ 
    header('Content-type: application/json'); 
    echo json_encode($rows); 
    exit(); 
} 

//non ajax code ... 
... 

這樣echo如果一個AJAX調用

+2

+1,但我會添加'header('Content-type:application/json') '在返回JSON之後立即'退出'。 – Phil 2014-10-01 04:34:17

+0

是的謝謝,更新了答案 – Saqueib 2014-10-01 04:34:57

+0

謝謝,這工作! – drakon135 2014-10-01 04:37:42