2012-05-31 1 views
6

私はREST_Controller拡張CI_Controllerを使用しています。何らかの理由で私の要求がjsonではなくtext/htmlのコンテンツタイプで返されています。私の設定では、私はデフォルトの形式として設定されている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)各機能でcontect_typeを設定しながら

0

は、役立ちますこれはコンストラクタでこれを設定することでコントローラレベルで汎用にすることができます。

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

だから、単にこれが私のために働いた各機能レベルで

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

を出力を設定します。

関連する問題