«

thinkphp页面跳转(successerror)如何设置跳转等待时间

时间:2024-1-28 13:30     作者:韩俊     分类: PHP


thinkphp 3.1.2 模板跳转等待的时间默认只有3秒,这在开发中如果想看错误信息的时候是非常让人头痛的,虽然可以在页面显示的通过 $this->assign('waitSecond','1') 自定义页面跳转等待时间,但总会感觉很麻烦,有没有一种方法可以将这个默认的3秒改的时间更长点吗?下面就教你如何将这个时间定义为你想要等待多长的时间,在 thinkphp 3.1.2 中,在系统目录里面的 \Lib\Core\ 找到 Action.class.php 这个文件,在里面找到下面 dispatchJump 这个方法,找到 $this->assign('waitSecond','3' 将里面的 3 改掉即可。

/**
 * 默认跳转操作 支持错误导向和正确跳转
 * 调用模板显示 默认为public目录下面的success页面
 * 提示页面为可配置 支持模板标签
 * @param string $message 提示信息
 * @param Boolean $status 状态
 * @param string $jumpUrl 页面跳转地址
 * @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
 * @access private
 * @return void
 */
private function dispatchJump($message,$status=1,$jumpUrl='',$ajax=false) {
    if(true === $ajax || IS_AJAX) {// AJAX提交
        $data           =   is_array($ajax)?$ajax:array();
        $data['info']   =   $message;
        $data['status'] =   $status;
        $data['url']    =   $jumpUrl;
        $this->ajaxReturn($data);
    }
    if(is_int($ajax)) $this->assign('waitSecond',$ajax);
    if(!empty($jumpUrl)) $this->assign('jumpUrl',$jumpUrl);
    // 提示标题
    $this->assign('msgTitle',$status? L('_OPERATION_SUCCESS_') : L('_OPERATION_FAIL_'));
    //如果设置了关闭窗口,则提示完毕后自动关闭窗口
    if($this->get('closeWin'))    $this->assign('jumpUrl','javascript:window.close();');
    $this->assign('status',$status);   // 状态
    //保证输出不受静态缓存影响
    C('HTML_CACHE_ON',false);
    if($status) { //发送成功信息
        $this->assign('message',$message);// 提示信息
        // 成功操作后默认停留1秒
        if(!isset($this->waitSecond))    $this->assign('waitSecond','1');
        // 默认操作成功自动返回操作前页面
        if(!isset($this->jumpUrl)) $this->assign("jumpUrl",$_SERVER["HTTP_REFERER"]);
        $this->display(C('TMPL_ACTION_SUCCESS'));
    }else{
        $this->assign('error',$message);// 提示信息
        //发生错误时候默认停留3秒
        if(!isset($this->waitSecond))    $this->assign('waitSecond','3');
        // 默认发生错误的话自动返回上页
        if(!isset($this->jumpUrl)) $this->assign('jumpUrl',"javascript:history.back(-1);");
        $this->display(C('TMPL_ACTION_ERROR'));
        // 中止执行  避免出错后继续执行
        exit ;
    }
}

标签: php php教程

热门推荐