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 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
php foreach、while性能比较
Oct 15 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
php将远程图片保存到本地服务器的实现代码
Aug 03 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 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
3
2006/10/09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
PHP学习笔记之session
2018/05/06 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
jquery each()源代码
2011/02/14 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
35个Python编程小技巧
2014/04/01 Python
python实现sublime3的less编译插件示例
2014/04/27 Python
python获取多线程及子线程的返回值
2017/11/15 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
详解Anaconda 的安装教程
2020/09/23 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
毕业生自荐书模版
2014/01/04 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
离婚答辩状怎么写
2015/05/22 职场文书