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 相关文章推荐
example1.php
Oct 09 PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
PHP登录验证码的实现与使用方法
Jul 07 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
Laravel向公共模板赋值方法总结
Jun 25 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 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
PHP 数组教程 定义数组
2009/10/23 PHP
PHP number_format() 函数定义和用法
2012/06/01 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
Python异常处理总结
2014/08/15 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python数据挖掘需要学的内容
2019/06/23 Python
python生成requirements.txt的两种方法
2019/09/18 Python
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
保安的辞职报告怎么写
2014/01/20 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
英语教学课后反思
2016/02/15 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书