yii2 response响应配置

response参数配置

方式一、全局配置

用于接口开发

适用:只有所有请求都是application/json类型时可用。

$config = [
    'components' => [
        'response' => [
            'format' => 'json'
        ],
    ],
];

方式二,通过前置操作实现。

适用:只有控制器中所有请求都是application/json类型时可用。

前置函数

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

行为(通过过滤器来实现)

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

方式三、在方法中配置。

适用:只适用与json返回,注意排除render返回。

Yii::$app->response->format = yiiwebResponse::FORMAT_JSON;

注意:yii内置的方法返回的直接是json对象,而使用hson_encode返回的是json字符串,需要在ajax请求中增加dataType:'json'属性,接收的才是json对象。

原文地址:https://www.cnblogs.com/huay/p/11833284.html