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 相关文章推荐
source.php查看源文件
Dec 09 PHP
dedecms模版制作使用方法
Apr 03 PHP
php 操作excel文件的方法小结
Dec 31 PHP
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
php懒人函数 自动添加数据
Jun 28 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
教你在PHPStorm中配置Xdebug
Jul 27 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
golang与PHP输出excel示例
Jul 22 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
php DES加密算法实例分析
Sep 18 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
Terran魔法科技
2020/03/14 星际争霸
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
yii的CURD操作实例详解
2014/12/04 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
用js编写留言板
2020/03/17 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
window下eclipse安装python插件教程
2017/04/24 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Django添加feeds功能的示例
2018/08/07 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Python中的类与类型示例详解
2019/07/10 Python
Python绘图实现显示中文
2019/12/04 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
销售简历自我评价怎么写
2014/09/26 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
催款律师函范文
2015/05/27 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书