Yii2 使用计时器重定向
Posted
技术标签:
【中文标题】Yii2 使用计时器重定向【英文标题】:Yii2 redirect with timer 【发布时间】:2015-05-11 19:46:01 【问题描述】:我想在更改密码后注销用户,但也想向他们显示密码已更改的通知。
因此,为了做到这一点,我想使用一个计时器为 2-5 秒的重定向命令。遗憾的是,我在任何地方都找不到它。
有什么帮助吗?!
截图:
【问题讨论】:
为什么不在登录表单上显示此通知? 以这种方式显示通知不是正确的做法。首先,您应该注销用户并使用上述通知将他重定向到登录页面。 你可以使用闪信。 【参考方案1】:只需执行以下操作。注销用户然后将他发送到登录页面。
public function actionPasswordChangeFunction()
...........
Yii::$app->user->logout();
\Yii::$app->getSession()->setFlash('reLog', 'Password Changed Successfully.');
return $this->redirect(['login_form_path']);
在您的登录页面上:
<?= Yii::$app->session->getFlash('reLog'); ?>
【讨论】:
即使我没有要求这个,我使用你的方法只是因为它更好..谢谢!【参考方案2】:您需要使用 javascript 运行重定向。 为此,您需要在生成的视图中包含以下 javascript。下面的示例将在重定向到您从 php 传递的 redirectURI 之前等待 5 秒
<script>
setTimeout(function()
window.location.replace("<?php echo $redirectURI ?>");
, 5000);
</script>
【讨论】:
这是我问题的正确答案,但另一种方法比我的要好。仍然 +1 !谢谢以上是关于Yii2 使用计时器重定向的主要内容,如果未能解决你的问题,请参考以下文章