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 相关文章推荐
如何使用PHP中的字符串函数
Oct 09 PHP
快速配置PHPMyAdmin方法
Jun 05 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
19个Android常用工具类汇总
Dec 30 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
Zend Framework分发器用法示例
Dec 11 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
解决Laravel 不能创建 migration 的问题
Oct 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产生动态的影像图
2006/10/09 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
js对象的构造和继承实现代码
2010/12/05 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python实现进程同步和通信的方法
2018/01/02 Python
python安装pil库方法及代码
2019/06/25 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
关于python中的xpath解析定位
2020/03/06 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
大学生职业生涯规划书范文
2014/01/14 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
聘任证明怎么写
2015/03/02 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
消防演习感想
2015/08/10 职场文书
Golang ort 中的sortInts 方法
2022/04/24 Golang