6

私はREST_Controller拡張CI_Controllerを使用していますが、何らかの理由で、リクエストはすべてjsonではなくtext/htmlのコンテンツタイプで返されます。私の設定では、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を設定すると役立ちますが、コンストラクターでこれを設定することにより、コントローラーレベルでこれを汎用にすることができます。

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

したがって、各機能レベルで出力を設定するだけです。

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

これは私のために働いた。

于 2015-10-31T08:59:05.370 に答える