我正在尝试返回一个已经被ut8_encoded的json。我在它之前设置了HTTP响应代码的标题。
/**
* Set the response header and HTTP response code and response the data
* @param $data array of response to be encoded as json
* @param int $status the http status (200 is default)
* @return string the json presentation of the array given
*/
public function response($data, $status = 200)
{
header("HTTP/1.1 " . $status . " " . $this->getRequestStatus($status));
echo utf8_encode(json_encode($data, JSON_UNESCAPED_SLASHES));
}
结果回来了,但有警告 -
警告:无法修改标题信息 - 在 113
上的RestApi.php中已经发送的标题(在RestApi.php:115处开始输出)
编辑: 对不起,我可能应该添加它 - 警告是在谈论引起警告的那两行。
如何删除警告?
如果我将此部分添加到.htaccess中,可能会发生错误?
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "*"
Header set Content-Type "application/json; charset=utf-8"
</IfModule>
我刚刚意识到。所以也许我真的不需要对响应进行编码
答案 0 :(得分:1)
确保文件顶部或任何包含文件的顶部/底部没有空格。此外,请确保您已经没有回显到屏幕上。