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 相关文章推荐
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
PHP 可阅读随机字符串代码
May 26 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
Apr 23 PHP
Apache下禁止php文件被直接访问的解决方案
Apr 25 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
实现获取http内容的php函数分享
Feb 16 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
PHP性能优化大全(php.ini)
May 20 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 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
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
python进程管理工具supervisor使用实例
2014/09/17 Python
Python Logging 日志记录入门学习
2018/06/02 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Python 处理文件的几种方式
2019/08/23 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
YII2 全局异常处理深入讲解
2021/03/24 PHP
学年自我鉴定范文
2013/10/01 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
入党函调证明材料
2014/12/24 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Nginx利用Logrotate实现日志分割
2022/05/20 Servers