6

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

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

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

4

2 回答 2

12

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

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

(取自手册:这里

于 2012-05-31T21:17:12.000 回答
0

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

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

因此,您只需在每个功能级别设置输出

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

这对我有用。

于 2015-10-31T08:59:05.370 回答