How to get response as json format(application/json) in yii?
For Yii 1:
Create this function in your (base) Controller:
/** * Return data to browser as JSON and end application. * @param array $data */protected function renderJSON($data){ header('Content-type: application/json'); echo CJSON::encode($data); foreach (Yii::app()->log->routes as $route) { if($route instanceof CWebLogRoute) { $route->enabled = false; // disable any weblogroutes } } Yii::app()->end();}
Then simply call at the end of your action:
$this->renderJSON($yourData);
For Yii 2:
Yii 2 has this functionality built-in, use the following code at the end of your controller action:
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;return $data;