如何使用Code Igniter REST_Controller定义内容类型

时间:2012-05-31 20:52:44

标签: json codeigniter rest content-type

我正在使用REST_Controller扩展CI_Controller,由于某种原因,我的请求都返回了内容类型的text / html而不是json。在我的配置中,我将json设置为默认格式:

$config['rest_default_format'] = 'json';

我的结果以JSON的形式返回,但内容类型未设置。任何人都可以帮助我缺少的东西吗?

2 个答案:

答案 0 :(得分:12)

我不确定配置是否设置格式。但是一个简单的解决方法可能就是使用输出类来设置标题内容类型,例如:

$this->output
    ->set_content_type('application/json')
    ->set_output(json_encode(array('foo' => 'bar')));

(摘自手册:here

答案 1 :(得分:0)

虽然在每个函数中设置contect_type有帮助,但是通过在构造函数中设置它,可以在控制器级别使其成为通用。

public function __construct() {
    parent::__construct();
    ...
    $this->output->set_content_type('application/json');
}

所以你只需在每个功能级别设置输出

$this->output->set_output('{"message":"Failure"}');

这对我有用。