2012-05-31 30 views
6

我正在使用REST_Controller擴展CI_Controller,出於某種原因,我的請求都返回了內容類型的文本/ html而不是json。在我的配置,我有JSON設置爲默認格式:如何使用代碼點火器定義內容類型REST_Controller

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

我的結果回來的JSON,但內容類型沒有被設置。任何人都可以幫助我失去什麼?

回答

11

我不確定配置是否設置格式。但是一個簡單的解決辦法可能只是使用輸出類設置頁眉內容類型,是這樣的:

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

(從手動摘自:here

0

雖然在每個功能設定contect_type幫助,通過在構造函數中設置,可以在控制器級別使其成爲通用的。

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

所以,你會簡單地在每一個功能級別

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

這爲我設定的輸出。