YII 返回值為JSON格式


在CONTROLLER里邊加上

  1. 如果指示指定一個函數那么可以使用: \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
  2. 如果想整個應用都返回JSON格式,那么可以在component中設置: 

                    'response' => [
                                 'format' => 'json'
                                          ],

         3. 如果像第二種方法那樣讓全局的返回值都是json格式,那么有些網頁會顯示為亂碼,所以最佳的解決方法是在每一個類中加一個beforeAction,在其中執行第一種方法.

    public function beforeAction($action)
    {
       return Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
    }

         4.第三種方法是自己寫了一個前置的過濾器,實際上yii是自帶了相關的過濾器的,可以直接使用,如下:

   use yii\web\Response;
use yii\filters\ContentNegotiator;

public function behaviors()
    {
        return [
            [
                'class' => ContentNegotiator::className(),
                'formats' => [
                    'application/json' => Response::FORMAT_JSON,
                ],
            ],
        ];
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM