2015-09-28 95 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字符串。