zoukankan      html  css  js  c++  java
  • TP 页面跳转success 和 error 以及重定向功能

    TP 系统的ThinkController类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。

    $User = M('User'); //实例化User对象
    $result = $User->add($data); 
    if($result){
        //设置成功后跳转页面的地址,默认的返回页面是$_SERVER['HTTP_REFERER']
        $this->success('新增成功', 'User/list');
    } else {
        //错误页面的默认跳转页面是返回前一页,通常不需要设置
        $this->error('新增失败');
    }
    

    success和error方法的第一个参数表示提示信息,第二个参数表示跳转地址,第三个参数是跳转时间(单位为秒),例如:

    // 操作完成3秒后跳转到 /Article/index
    $this->success('操作完成','/Article/index',3);
    // 操作失败5秒后跳转到 /Article/error
    $this->error('操作失败','/Article/error',5);
    

    跳转地址是可选的,success方法的默认跳转地址是$_SERVER["HTTP_REFERER"],error方法的默认跳转地址是javascript:history.back(-1);
    默认的等待时间success方法是1秒,error方法是3秒

    successerror方法都可以对应的模板,默认的设置是两个方法对应的模板都是:

    //默认错误跳转对应的模板文件
    'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl',
    //默认成功跳转对应的模板文件
    'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl',
    

    也可以使用项目内部的模板文件

    //默认错误跳转对应的模板文件
    'TMPL_ACTION_ERROR' => 'Public:error';
    //默认成功跳转对应的模板文件
    'TMPL_ACTION_SUCCESS' => 'Public:success';
    

    success和error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会调用ajaxReturn方法返回信息。 ajax方式下面,success和error方法会封装下面的数据返回:

    $data['info']   =   $message; // 提示信息内容
    $data['status'] =   $status;  // 状态 如果是success是1 error 是0
    $data['url']    =   $jumpUrl; // 成功或者错误的跳转地址
    

    重定向
    Controller类的redirect方法可以实现页面的重定向功能。

    redirect方法的参数用法和U函数的用法一致(参考URL生成部分),例如:

    //重定向到New模块的Category操作
    $this->redirect('New/category', array('cate_id' => 2), 5, '页面跳转中...');
    

    如果仅仅是想重定向要一个指定的URL地址,而不是到某个模块的操作方法,可以直接使用redirect函数重定向,例如:

    //重定向到指定的URL地址
    redirect('/New/category/cate_id/2', 5, '页面跳转中...')
    

    Redirect函数的第一个参数是一个URL地址。

    控制器的redirect方法和redirect函数的区别在于前者是用URL规则定义跳转地址,后者是一个纯粹的URL地址。

    来自tp手册

  • 相关阅读:
    常建的性能指标
    性能测试常见分类
    性能测试相关概念和指标
    adb命令熟悉
    打包ajax生成小工具
    深入理解类加载demo
    设计模式七大原则
    javamail邮件实现
    @RequiredArgsConstructor用法
    spring-security查询数据库源码解析
  • 原文地址:https://www.cnblogs.com/zhongshenggen/p/5832520.html
Copyright © 2011-2022 走看看