ajax访问controller,无法通过return $this->goHome()跳转

时间:2024-01-09 17:05:50

第一次在yii2中使用ajax来请求controller,做的是第三方登录,facebook和google登录。

登录成功应该跳转到首页,想当然的以为用return $this->goHome()可以,发现不行,其实通过打印首页地址是可以获取到首页地址,但就是无法跳转。

查资料查半天,费了老多功夫,发现可以把跳转地址返给前端,通过js window.location去跳转到首页,从而解决了问题。

如果是通过form 提交的数据访问controller,就可以通过$this->goHome()来跳转。

参考代码:

Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return [
'url' => Yii::$app->getHomeUrl(),
'code' => 200,
];
将json数据返回给前端,就可以跳转。