ThinkPHP 页面跳转 success 与 error 方法
admin
2023-07-04 10:03:52
0

http://www.5idev.com/p-thinkphp_success_error.shtml


ThinkPHP 页面跳转

ThinkPHP 提供了 success 与 error 方法用于带提示信息的页面跳转,如添加数据后显示提示信息并跳转等。success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以 success 方法来进行说明。

success 方法

success 方法语法如下:

success(message, ajax)
参数说明:
参数说明
message可选。页面提示信息。
ajax可选。是否 AJAX 方式提交,默认为 false 。

如果是 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().' [ 返 回 ]');
    }
}

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","/User/index");

如果要使用 U 方法生成跳转目标地址,可在 success.html 中变更 URL 属性为 U 方法形式:


在操作中,对 $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. 1. ThinkPHP 页面跳转 success 与 error 方法

  2. 2. ThinkPHP redirect 页面重定向使用详解与实例


相关内容

热门资讯

原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...
谁在对台湾“温水煮青蛙”? 近一段时间以来,两岸的舆论场都非常热闹,但话题却不尽相同。先看看岛内,马英九基金会的“家变”愈演愈烈...
上海磁骋取得超级电容主动均衡电... 国家知识产权局信息显示,上海磁骋交通科技有限公司取得一项名为“一种超级电容主动均衡电路”的专利,授权...
超市运送猪肉时,一只狗跑来啃食... 5月31日,湖北孝昌的网友发布视频称,一家超市在运送猪肉时,肉从车上搬下来后,一只黑色的狗跑来啃食猪...