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分页思路以及在ZF中的使用
May 30 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
如何使用php输出时间格式
Aug 31 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
php根据身份证号码计算年龄的实例代码
Jan 18 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
实现获取http内容的php函数分享
Feb 16 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
destoon各类调用汇总
Jun 20 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
PHP框架Laravel学习心得体会
Oct 28 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实现求相对时间函数
2015/06/15 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
JS实现self的resend
2010/07/22 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Python 中的lambda函数介绍
2018/10/10 Python
Python读取csv文件实例解析
2019/12/30 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
汉森批发:Hansen Wholesale
2018/05/24 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
上级检查欢迎词
2014/01/18 职场文书
西式结婚主持词
2014/03/14 职场文书
揭牌仪式主持词
2014/03/19 职场文书
销售求职信范文
2014/05/26 职场文书
群众路线领导对照材料
2014/08/23 职场文书
对照检查剖析材料
2014/09/30 职场文书
优秀教师个人总结
2015/02/11 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
Python 阶乘详解
2021/10/05 Python