2012-05-31 11 views
6

Estoy trabajando con el CI_Controller extendido REST_Controller y por alguna razón mis solicitudes vuelven con un tipo de contenido text/html en lugar de json. En mi configuración, he puesto JSON como formato predeterminado:Cómo definir el tipo de contenido con Code Igniter REST_Controller

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

Mis resultados están regresando como JSON, pero no se está estableciendo el tipo de contenido. ¿Alguien puede ayudar con lo que me estoy perdiendo?

Respuesta

11

No estoy seguro de si la configuración establece el formato. Sin embargo, un trabajo sencillo alrededor podría ser sólo para usar la clase de salida para establecer el tipo de contenido de la cabecera, algo así como:

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

(Tomado del Manual: here)

0

Durante el ajuste contect_type en cada uno funciona ayuda, esto se puede hacer genérico al nivel del controlador estableciendo esto en el constructor.

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

por lo que sería simplemente establecer la salida en cada nivel de la función

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

Esto funcionó para mí.

Cuestiones relacionadas