2015-09-28 55 views
-1

所以我最近安裝了Apache2的Web服務器與PHP5,並試圖輸出普通JSON時,會產生已經包含<html><head><body>標籤,像這樣的頁面:使PHP輸出純文本

<html> 
    <head></head> 
    <body> 
    { "text": "some text" } 
    </body> 
</html> 

而不是給我:

{ "text": "some text" } 

與我的PHP代碼的存在:

<?php printf('{ "text": "some text" }'); ?> 

我嘗試在網上查找如何禁用此功能,但沒有任何結果。
歡迎任何幫助。

+1

你從哪裏得到這個html代碼?我的意思是:這是HTML你得到什麼時,你按CTRL + U來檢查你的代碼?因爲也許你的瀏覽器實際上收到了純粹的json代碼,並且它自己添加了html。 – Amarnasan

+0

是的,它會自動放在那裏,我不知道它來自哪裏。我已經嘗試在.htaccess和配置中禁用auto_prepend_file和auto_append_file。 – LazyShpee

+2

看看這個:http://stackoverflow.com/questions/4064444/returning-json-from-a-php-script – Amarnasan

回答

1

你從哪裏得到這個html代碼?我的意思是:這是HTML你得到什麼時,你按CTRL + U來檢查你的代碼?因爲也許你的瀏覽器實際上收到了純粹的json代碼,並且它自己添加了html。

3

如果你不輸出一些html代碼,將不會有html代碼。 PHP或Apache不會自己呈現html。 如果您在開發工具中查看源代碼,可能是您的瀏覽器添加了html標籤。

但是,如果你輸出一些JSON數據,你也應該設置正確的MIME類型頭,像這樣:

header('Content-Type: application/json'); 

這樣做,你的瀏覽器(或其他客戶)知道,你給他們一些JSON字符串。