ThinkPHP 页面跳转 success 与 error 方法
http://www.5idev.com/p-thinkphp_success_error.shtml
ThinkPHP 提供了 success 与 error 方法用于带提示信息的页面跳转,如添加数据后显示提示信息并跳转等。success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以 success 方法来进行说明。
success 方法success 方法语法如下:
success(message, ajax)
如果是 AJAX 方式提交的话,success 方法会调用 ajaxReturn 方法返回信息,具体参看《ThinkPHP AJAX》。
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().' [ <A HREF="javascript:history.back()">返 回</A> ]'); }}success 模板
success 方法默认调用公共目录即 TPL/Public/ 下的 success.html 模板。在该模板中,接收如下模板变量:
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","/User/index");
如果要使用 U 方法生成跳转目标地址,可在 success.html 中变更 URL 属性为 U 方法形式:
<meta http-equiv='Refresh' content='{$waitSecond};URL={:U($jumpUrl)}'>
在操作中,对 $jumpUrl 模板变量的赋值,相应的也要更改为与 U 方法一致,详细参见:《ThinkPHP U 方法动态生成 URL 地址》。
error 方法error 方法用法与 sucess 方法完全一致,只是需要注意的是,ThinkPHP 默认配置 error 方法调用的仍是 success.html 模板。如果需要对 error 方法单独定义模板,可以修改系统默认配置 ThinkPHP/Common/convention.php 文件:
'TMPL_ACTION_ERROR' => 'Public:success', // 默认错误跳转对应的模板文件
或在项目配置里进行重新定义,具体参见《ThinkPHP 项目配置》。
Web 开发中,在需要页面跳转并显示提示信息时,可以直接使用 ThinkPHP 页面跳转提供的上述 success 与 error 方法。如果不需要提示而是直接重定向页面时,请参阅《ThinkPHP redirect 重定向》。
本章节内容共分 2 部分:
1. ThinkPHP 页面跳转 success 与 error 方法
2. ThinkPHP redirect 页面重定向使用详解与实例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。