1

我正在使用 get 参数,因此用户可以选择 XML 输出或 Json。根据他们的选择,它在同一页面上运行 json 函数或 xml 函数。然而,尽管我努力,即使在选择 json 时从未告诉代码进入 XML 函数,它仍然运行header("Content-type: text/xml"); 在 XML 函数中。它不运行其他任何东西。问题是当它尝试写入时:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");
header("Content-type: application/json");

在 json 函数中,它给了我一个错误,标头已被更改(即使我从未执行过 XML 函数。我不得不通过制作一个单独的网页来解决这个问题,一个用于 json,一个用于 xml。但是,我会如果他们想要 json 或 XML 而没有任何错误,希望他们转到相同的 URL 并获取选择。有没有更简单的方法来做到这一点?

4

1 回答 1

0

检查标题上的文档。你可能需要设置

header("Content-type: application/json", true);
                                         ####

确保您的新内容类型标头替换可能已经设置的内容类型标头。http://php.net/header

于 2013-05-10T16:17:44.877 回答