• 技术文章 >后端开发 >php教程

    ThinkPHP页面跳转success与error方法概述_php实例

    2016-05-17 08:40:42原创568
    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().'[返回]');
    }
    }
    
    

    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 方法形式:

    
    


    在操作中,对$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 重定向》部分。

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    ThinkPHP6基础与实战:点击学习

    课程从基础到实战详细分析讲解

    上一篇:PHP使用DOMDocument类生成HTML实例(包含常见标签元素)_php实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP中全面阻止SQL注入式攻击分析小结_PHP教程• smarty中英文多编码字符截取乱码问题解决方法• YII Framework框架教程之使用YIIC快速创建YII应用详解_PHP• PHP数据库连接mysql与mysqli对比分析_PHP
    1/1

    PHP中文网