goback跳转到了其他地方 [ 2.0 版本 ]
如题,
if ($model->user_id!=$session['__id'])
{
Yii::$app->getSession()->setFlash('error',"无法编辑他人相册");
return $this->goBack(Yii::$app->request->getReferrer());
}
这里打印
Yii::$app->request->getReferrer()
得到的是
string(40) "http://www.yii2test.com/albums/view?id=3"
但goback给我跳转到了
http://www.yii2test.com/tool/air
这是为何?
共 5 个回答
-
先看看Yii::$app->user->returnUrl是否已经设置,
returnUrl没有设置且goBack()中的参数也未设置则会返回到homeUrl指定的地址。
可查阅官方文档中的这个地方,
http://www.yiichina.com/doc/api/2.0/yii-web-controller#goBack()-detailjorge 觉得很赞 -
作为一个后来者也发现了这个问题,看了一下类参考文档,goback()要先设置一下返回地址的
代码是这样 Yii::$app->user->setReturnUrl(Yii::$app->request->referrer);
下面是例子,希望可以帮到其他人:if (!Yii::$app->user->isGuest) { return $this->goHome(); } $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { Yii::$app->user->setReturnUrl(Yii::$app->request->referrer); return $this->render('login', [ 'model' => $model ]); }
hebo5485
注册时间:2016-03-18
最后登录:2024-04-05
在线时长:66小时28分
最后登录:2024-04-05
在线时长:66小时28分
- 粉丝8
- 金钱4600
- 威望30
- 积分5560