Php Yii2-在rest(json)和普通html输出之间切换响应
当有人使用ajaxPhp Yii2-在rest(json)和普通html输出之间切换响应,php,ajax,rest,yii,yii2,Php,Ajax,Rest,Yii,Yii2,当有人使用ajaxX-request-With 当没有的时候,关闭它。用这种方法我可以处理搜索引擎 或者没有ajax的用户。(改进SEO) 一些研究:(使用行为) 检查请求头并更改响应 或:(编辑rest控制器) 编辑$serializer='yii\rest\serializer'到$serializer=null 或(在rest控制器动作后覆盖) 并删除serializeData()一些方法 但最终的方法是什么 我认为这些方法不好…我认为您需要扩展ContentCongregator()。
X-request-With
当没有的时候,关闭它。用这种方法我可以处理搜索引擎
或者没有ajax的用户。(改进SEO)
一些研究:(使用行为)
检查请求头并更改响应
或:(编辑rest控制器)
编辑$serializer='yii\rest\serializer'
到$serializer=null代码>
或(在rest控制器动作后覆盖)
并删除serializeData()
一些方法
但最终的方法是什么
我认为这些方法不好…我认为您需要扩展ContentCongregator()。
public function behaviors()
{
return [
'verbs' => [
'class' => \yii\web\ResponseFilter::className(),
'actions' => [
'something' => [
'format' => Response::FORMAT_JSON,
],
],
],
];
}
public function afterAction($action, $result)
{
$result = parent::afterAction($action, $result);
return $this->serializeData($result);
}