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 相关文章推荐
PHP中读写文件实现代码
Oct 20 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
PHP获取毫秒级时间戳的方法
Apr 15 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
php workerman定时任务的实现代码
Dec 23 PHP
php如何比较两个浮点数是否相等详解
Feb 12 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 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生成RSS订阅的方法
2015/02/13 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python安装与使用redis的方法
2016/04/19 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
python 性能提升的几种方法
2016/07/15 Python
详解Python中的四种队列
2018/05/21 Python
Python3中详解fabfile的编写
2018/06/24 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
医院护士的求职信
2014/01/03 职场文书
货车司机岗位职责
2014/03/18 职场文书
护士实习求职信
2014/06/22 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技