yii2进行页面跳转的时候带点提示信息 [ 未指定版本 ]
yii2 redirect进行页面跳转的时候, 可以像页面传递数据?比如下面的代码
return $this->redirect(['member/security']);
我一般是操作数据库后进行跳转,到底操作成功否? 我想带个提示信息给页面,让页面显示一下然后提示信息就没了?
该怎么办?
我现在的做法是将提示信息存放到session中,然后跳转后用了一次就删掉! yii2中有更好的办法?
最佳答案
其他 5 个回答
-
yiiartisan 回答于 2018-04-03 16:01 举报
return $this->success(['/admin/index']);
共 2 条回复yiiartisan 回复于 2018-04-03 16:07 回复Controller中自定义 success()方法;
public function success($url= [] ,$sec = 3){$url= empty($url)? ['/admin/main']: $url; $url= \yii\helpers\Url::toRoute($url); return $this->renderPartial('../routea/msg',['gotoUrl'=>$url,'sec'=>$sec]); }
yiiartisan 回复于 2018-04-03 16:12 回复自定义 msg.php:
<?php/ @var $this yii\web\View /
/ @var $name string /
/ @var $message string /
/ @var $exception Exception /
use yii\helpers\Html;
?>
<?php if(isset($errorMessage)):?> <?php echo '操作出错啦!' ?> <?php echo '
'.$errorMessage.'
';?> <?php else:?> 恭喜!操作成功! <?php endif;?>该页将在3秒后自动跳转!
<?php if(isset($gotoUrl)):?> 立即跳转 <?php else:?> 返回上一页 <?php endif;?>
<?php if(!isset($gotoUrl)):?> setInterval("history.go(-1);",<?php echo $sec;?>000); <?php else:?> setInterval("window.location.href='<?php echo $gotoUrl;?>'",<?php echo $sec;?>000); <?php endif;?>
-
-
-
高级模板下可以直接使用这个:
if ($model->save()) { Yii::$app->getSession()->setFlash('success', '保存成功'); } else { Yii::$app->getSession()->setFlash('error', '保存失败'); } return $this->redirect(['member/security']);
基础模板我没用过,不知道它那里有没有高级模板下 frontend/widgets/Alert.php 这个小插件,有的话也是可以用的。
共 3 条回复huangyl 觉得很赞 -
word1018808441 回答于 2015-06-11 11:06 举报
return $this->redirect(['member/security', 'id' => 1]);
这样不行吗?jian , word1018808441 觉得很赞
刘阿勇
最后登录:10小时前
在线时长:1686小时41分
- 粉丝6
- 金钱39639
- 威望0
- 积分56499