yii2 html 跳转,阐述在Yii2上实现跳转提示页
序言
为了让用户有更加良好的体验,在操作成功或者失败后,来个提示并跳转页面,我就在Yii2上实现了这一个效果。在写这个跳转提示页的时候,找资料我发现网上关于这方面的中文资料真的很少,大家也都共享下吧!
需求分析
1、用户在操作成功或者失败后,来个提示并跳转页面。
2、使用这种方式$this->success(),$this->error()调用(仿造Yii2自带 $this->render()加载页面的方式)。
效果图
样式有点丑,但是功能是好的,要是不喜欢这样式大家可以自行美化一下!
代码分析
1、在控制器的基类Controller.php里边增加两个方法,这么写:
/**
* 通用成功跳转
* @param unknown $url 成功后跳转的URL
* @param number $sec 自动跳转秒数
* @return Ambigous
*/
public function success($url= [] ,$sec = 3){
$url= empty($url)? ['/admin/main']: $url;
$url= \yii\helpers\Url::toRoute($url);
return $this->renderPartial('../base/msg',['gotoUrl'=>$url,'sec'=>$sec]);
}
/**
* 通用错误跳转
* @param string $msg 错误提示信息
* @param number $sec
* @return Ambigous
*/
public function error($msg= '',$sec = 3){
return $this->renderPartial('../base/msg',['errorMessage'=>$msg,'sec'=>$sec]);
}
2、在loginviewsbase的下面建立一个命名为msg.php的页面,代码如下:
/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */
use yii\helpers\Html;
?>
<?php echo '
'.$errorMessage.'
';?>
恭喜!操作成功!
该页将在3秒后自动跳转!
立即跳转
返回上一页
.page-none-alert{margin: 100px 0 !important;
text-align: center !important;
font-size: 30px !important;}
setInterval("history.go(-1);",<?php echo $sec;?>000);
setInterval("window.location.href='<?php echo $gotoUrl;?>'",<?php echo $sec;?>000);
3、完成以上步骤之后就可以在login模块下的控制器里边直接调用了,调用方式如下:
成功的调用方式: return $this->success(['/site/login']);
失败的调用方式: return $this->error('数据修改失败!');
常见问题
1、跳转提示的JS写在如下我注释的地方了,写在那的话就不起作用了,得写在外面才行。
<?php $this->beginBlock('JUMP_JS')?>
(function(){
//跳转提示的JS写在这了。不能写在这,写在这里就不起作用了。
});
$this->endBlock();
$this->registerJs($this->blocks['JUMP_JS'],\yii\web\view::POS_END);?>
相关资料
yii2 html 跳转,阐述在Yii2上实现跳转提示页相关推荐
- html5中如何自动跳转页面,实现HTML5上滑跳转页面的两种方法
方法一: jquery方法 movePage($('body')); function movePage(dom) { var startY, moveY, moveSpave; dom.on(&qu ...
- Android跳转动画时长,Android_Activit跳转动画之界面上某个位置并裂开上下拉伸动画跳转,需求:Activity(fragment)跳转的时候 - phpStudy...
Activit跳转动画之界面上某个位置并裂开上下拉伸动画跳转 需求:Activity(fragment)跳转的时候当前界面裂开,上下各自拉出手机屏幕,之后跳转到相对应的Activity.整体效果图如下 ...
- elementUI + vue 地址跳转:无法返回上一页 - 解决篇
elementUI + vue 项目:浏览器无法返回上一页 ?总是停留在当前页面? 代码块1: 不能正常返回上一页 // 成功之后执行跳转 this.$router.pushthis.$router. ...
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳n级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
青蛙跳阶级问题其实就是一个递归的问题 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳n级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 先上解法再解释 pub ...
- 解决RequestMapping写在类上页面跳转失败
解决RequestMapping写在类上页面跳转失败 问题: 问题出现原因: @RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上. 用于类上,表示类中的所有响应请求的方法 ...
- 不带www的顶级域名跳转到www域名上
背景:百度收录有时候会收录不带www的顶级域名,这个时候如果不做处理就会导致域名权重分散,尤其是当本身域名权重不高的时候,更不容易让网站参加排名或者排名好一些.这个时候就需要进行301重定向的配置了, ...
- 青蛙上楼梯matlab,一个小青蛙,可以一次跳两节楼梯,也可以一次跳一节楼梯,请问他如果要跳101节楼梯,一共有几种跳法方案? - 菲波那切数列...
一个小青蛙,可以一次跳两节楼梯,也可以一次跳一节楼梯,请问他如果要跳101节楼梯,一共有几种跳法方案? 问题的描述很简单,看到这个题目的时候,我首先想到的就是举例分析一波,比如当n=1的时候有几种方案 ...
- Mac 的程序坞(任务栏)在双屏/多屏 总是跳到其他的屏幕上
在Mac使用多屏的过程中,程序坞总是会偶尔跳到其他的屏幕上. 按照以往的方式,我是去屏幕设置里面去重新拖动一次主屏使程序坞再次归为,稍显的麻烦. 最终搞明白了,它是为什么会突然跑到其他屏幕上的,并且如 ...
- html5用代码实现页面跳转页面跳转,H5上滑跳转页面的实现(代码实例)
本文给大家介绍H5上滑跳转页面的实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 方法一:movePage($('body')); function movePage(dom) ...
最新文章
- FPGA之道(62)时空变换之空间换时间
- ping php支付,thinkphp框架中引出ping++支付server SDK
- STM32 USART1 USART2 UASRT3 UART4 UART5串口通信测试程序
- Atom markdown .md 编写格式技巧
- vsftpd.conf配置范例
- 动态链接MFC引发的血案
- 最佳调度问题(SSOJ-2367)
- debian uefi legacy 区别_电脑硬盘格式有Legacy与UEFI,选择哪一个好?千万别选错了!...
- 【AD10】Altium Designer 10导入元件库图文教程
- DreamweaverCS6 破解补丁和说明
- 2022网吧行业发展前景分析
- VMware虚拟机共享主机无线网络联网的设置方法
- linux命令 sys,用syslinux引导多个linux系统
- myeclipse误删文件恢复
- 合理利用“泛在式” - 手机促使人群分化
- 服务器上txt文件编辑器,网站后台文本编辑器使用方法
- mongodb异常恢复 --repair
- flume学习之一 是什么,主要应用在什么场景
- ☆ZigBee的碎片化
- 开源一个中国象棋 alpha zero 程序
热门文章
- 利用Dockefile将Python的py文件项目代码打包为Docker镜像
- 用php实现随机点名,使用javascript做的一个随机点名程序
- string、wstring、UTF-8、UTF-16、UTF-32之间转换
- texlive 2020下载与安装
- mysql语句随机数_程序生成随机数与SQL语句生成随机数
- 介词for和with 和of的用法_英语中的for,to,at,of,in,on,with的用法
- fastai学习笔记——安装
- oracle hang analyze,hanganalyze 分析数据库挂起
- 大数据数据收集数据困难_大数据就是好数据吗?研究人员在处理大数据集时遭遇的 5 大挑战...
- hexo评论_【前端简历加分】hexo框架搭建个人博客站点,手把手教学