2014-10-01 154 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