2012-05-31 2 views
6

REST_Controller 확장 CI_Controller로 작업하고 있으며 어떤 이유로 든 json 대신 content-type text/html이 표시됩니다.코드 이그니 터 REST_Controller를 사용하여 내용 유형을 정의하는 방법

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

내 결과를 다시 JSON으로오고 있지만, 콘텐츠 형식이 설정되지 않는 : 내 설정에서 나는 기본 형식으로 JSON 세트가 있습니다. 아무도 내가 누락 된 도움을 줄 수 있습니까?

답변

11

구성이 형식을 설정하는지 잘 모르겠습니다. 그러나 주위에 간단한 작업 헤더 콘텐츠 유형을 설정 출력 클래스를 사용하는 단지 수 있습니다 뭔가 같은 : (수동에서 촬영 : here)

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

각 기능에 contect_type 설정이 도움이되지만

0

, 이것을 컨스트럭터에서 설정하여 컨트롤러 레벨에서 일반화 할 수 있습니다.

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

그래서 당신은 단순히 이것은 나를 위해 일한 각 기능 수준

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

에서 출력을 설정합니다.

관련 문제