ThinkPHP页面跳转success与error方法概述


Posted in PHP onJune 25, 2014

ThinkPHP自身提供了success方法与error方法用于实现带提示信息的页面跳转功能,可实现添加数据后显示提示信息并跳转的效果。success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以success 方法来进行说明。
1、success方法
 
success方法语法如下:
success(message, ajax) 
参数说明message可选。页面提示信息。ajax可选。是否AJAX 方式提交,默认为false 。
如果是AJAX 方式提交的话,success 方法会调用ajaxReturn 方法返回信息。

success方法实例:

public function insert(){
// 省略部分其他代码
if($lastInsId = $Dao->add()){
// 页面跳转目标地址
$this->assign("jumpUrl","index");
$this->success("插入数据id 为:$lastInsId");
}else{
header("Content-Type:text/html; charset=utf-8");
exit($Dao->getError().'[<AHREF="javascript:history.back()">返回</A>]');
}
}

success 模板
 
success 方法默认调用公共目录即TPL/Public/ 下的success.html 模板。在该模板中,接收如下模板变量:
 
模板变量说明:
$waitSecond跳转等待时间,单位为秒,默认success 1 秒,error 3 秒。
$jumpUrl跳转目标页面地址,默认为$_SERVER["HTTP_REFERER"] (本操作前一页)。
$msgTitle操作标题。注:赋值该变量不会生效,success 会取语言包里_OPERATION_SUCCESS_ 配置信息,error 取_OPERATION_FAIL_ 配置信息。
$message页面提示信息。
$status操作状态,默认1 表示成功,0 表示失败,具体还可以由项目本身定义规则。
 
success 实际仍是调用display() 方法输出success.html 模板。因此可以根据实际情况对success.html 模板进行修改如添加更多信息提示或者进行CSS 美工设置等以满足实际需求,上面这些模板变量只是一些参考变量。
 
$jumpUrl 变量说明:
$jumpUrl 变量如果不存在,默认跳转地址是$_SERVER["HTTP_REFERER"] ,一些常见的跳转页面写法参考:
 

// 本模块其他方法如index 方法
$this->assign("jumpUrl","index");
// 带上参数
$this->assign("jumpUrl","index/section/".$section);
//其他模块
$this->assign("jumpUrl","__APP__/User/index");

 
如果要使用U 方法生成跳转目标地址,可在success.html 中变更URL 属性为U 方法形式:

<meta http-equiv='Refresh'content='{$waitSecond};URL={:U($jumpUrl)}'>

 
在操作中,对$jumpUrl 模板变量的赋值,相应的也要更改为与U 方法一致,详情可参考官方手册《ThinkPHPU 方法动态生成URL 地址》。
  
2、error 方法
 
error方法用法与sucess 方法完全一致,只是需要注意的是,ThinkPHP 默认配置error方法调用的仍是success.html 模板。如果需要对error 方法单独定义模板,可以修改系统默认配置ThinkPHP/Common/convention.php文件如下:

'TMPL_ACTION_ERROR' => 'Public:success',// 默认错误跳转对应的模板文件

或在项目配置里进行重新定义。
Web开发中,在需要页面跳转并显示提示信息时,可以直接使用ThinkPHP 页面跳转提供的上述success 与error 方法。如果不需要提示而是直接重定向页面时,可参考手册《ThinkPHP redirect 重定向》部分。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php2html php生成静态页函数
Dec 08 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
php Ubb代码编辑器函数代码
Jul 05 PHP
PHP使用DES进行加密与解密的方法详解
Jun 06 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
May 12 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
PHP simplexml_load_file()函数讲解
Feb 03 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 #PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
Jun 25 #PHP
ThinkPHP多表联合查询的常用方法
Mar 24 #PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
Jun 25 #PHP
ThinkPHP查询中的魔术方法简述
Jun 25 #PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 #PHP
Zend Framework页面缓存实例
Jun 25 #PHP
You might like
smarty中常用方法实例总结
2015/08/07 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
Prototype的Class.create函数解析
2011/09/22 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
Python实现批量下载文件
2015/05/17 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
简述安装Slackware Linux系统的过程
2012/05/08 面试题
中专生求职自荐信范文
2013/12/22 职场文书
护士的自我鉴定
2014/02/07 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
检讨书怎么写
2015/01/23 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
机关工会工作总结2015
2015/05/26 职场文书
spring boot中nativeQuery的用法
2021/07/26 Java/Android