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 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 PHP
php xml文件操作代码(一)
Mar 20 PHP
Wordpress php 分页代码
Oct 21 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
php的字符串用法小结
Jun 08 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 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
一个显示天气预报的程序
2006/10/09 PHP
php页面缓存ob系列函数介绍
2012/10/18 PHP
PHP IE中下载附件问题解决方法
2014/01/07 PHP
PHP中串行化用法示例
2016/11/16 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
jQuery操作css样式
2017/05/15 jQuery
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python中with及contextlib的用法详解
2017/06/08 Python
Python中Threading用法详解
2017/12/27 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
小学五年级学生评语
2014/04/22 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
选秀节目策划方案
2014/06/06 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
八一建军节主持词
2015/07/01 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫