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 相关文章推荐
实现树状结构的两种方法
Oct 09 PHP
深思 PHP 数组遍历的差异(array_diff 的实现)
Mar 23 PHP
PHP提取中文首字母
Apr 09 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
PHP内存使用情况如何获取
Oct 10 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
详解json在php中的应用
Sep 30 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 魔术函数使用说明
2010/02/21 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
jquery json 实例代码
2010/12/02 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
2017/05/03 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
详解python单元测试框架unittest
2018/07/02 Python
Python字符串的修改方法实例
2019/12/19 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
python实现贪吃蛇双人大战
2020/04/18 Python
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
实习生体会的自我评价范文
2013/11/28 职场文书
电子专业毕业生自我鉴定
2014/01/22 职场文书
考试作弊检讨
2015/01/27 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
Python入门之基础语法详解
2021/05/11 Python