用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3128|回复: 3
收起左侧

[已解决] set_header的奇怪问题?

[复制链接]
发表于 2011-8-11 11:15:04 | 显示全部楼层 |阅读模式
$this->output->set_header("Content-Type: application/json; charset=UTF-8");
此时通过浏览器请求的时候,发现Respons中的content-type仍然为text/html,但如果改成
PHP中原始的方法:header("Content-Type: application/json; charset=UTF-8");Respons响应正常,这是什么原因?有遇到过的吗?
发表于 2011-8-11 11:37:56 | 显示全部楼层
CI 的方法和 PHP 原始的不一样,CI 的是在显示视图的时候发送这个 header,所以你必须有视图才会发送这个 header。
所以,如果你想立即发送 header,只能用 PHP 的函数。
 楼主| 发表于 2011-8-11 11:54:11 | 显示全部楼层
是的,CI里添加的Layout,怪就怪在相同的程序,在另外一台机器上,运行正常,但在我的机器上,就返回上面的问题,两台机器的环境均为:Nginx1.0.4+PHP-Fastcgi5.2.17,实在想不明白,还会有其他的什么原因会造成上述问题的出现?
发表于 2011-8-11 12:00:17 | 显示全部楼层
itppl 发表于 2011-8-11 11:54
是的,CI里添加的Layout,怪就怪在相同的程序,在另外一台机器上,运行正常,但在我的机器上,就返回上面的 ...

建议看看 CI 源码,你就清楚了,这里 CI 的 set_header 是有特殊处理的。

本版积分规则