页面跳转

在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的ThinkController类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。

使用方法很简单,举例如下:

$User = M("User"); //实例化User对象

$result = $User->add($data);

if($result){

//设置成功后跳转页面的地址,默认的返回页面是$_SERVER["HTTP_REFERER"]

$this->success("新增成功", "/User/index");

} 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秒

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

//默认错误跳转对应的模板文件

"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",

模板文件可以使用模板标签,并且可以使用下面的模板变量:

变量含义$message页面提示信息

$error页面错误提示信息

$waitSecond跳转等待时间 单位为秒

$jumpUrl跳转页面地址

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, "页面跳转中...");

上面的用法是停留5秒后跳转到New模块的category操作,并且显示页面跳转中字样,重定向后会改变当前的URL地址。

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

//重定向到指定的URL地址

redirect("/New/category/cate_id/2", 5, "页面跳转中...")

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

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

php中等3秒再跳转,跳转和重定向相关推荐

  1. 学后端,一步一坑,遇坑就跳,跳完再爬---之mysql与mysql可视化工具

    学后端,一步一坑,遇坑就跳,跳完再爬–mysql Mac book pro,安装mysql 要改密码总不能用mysql创建时候的密码吧,首先,难记也记不住 对于Mac 而言初始密码 遇坑 怎么改都报错 ...

  2. 小米 红米 Redmi note11 4G 5G 手机解锁BL 秒BL解锁 教程 跳过168小时 selenes evergo线刷机包下载

    红米(Redmi)Note 11 5G 手机BL解锁 红米note11 4G/5G 秒解锁BL锁 方法 教程 跳过168小时 新版本 selenes evergo 红米Note11系列版本非常多,从4 ...

  3. 跳来跳去,到底去大公司还是小公司?

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 作者:一颗卤蛋,https://dwz.cn/NA3E0JFG 职场生涯总会面临着选择,尤其对 ...

  4. 微信认识到成熟应用不该“跳来跳去”

    微信小程序正逐渐从工具属性向着系统生态跃迁.近日,微信官方为优化小程序跳转频繁的槽点上线了一个新功能:从基础库 2.20.1 开始,微信将支持"半屏小程序"--此前用户在使用微信小 ...

  5. 教大家如何方便地用百度代理装国外ovi store里的软件--页面不会跳来跳去

    原贴 http://bbs.dospy.com/thread-6034274-1-1.html 教大家如何方便地用百度代理装国外ovi store里的软件--页面不会跳来跳去 国外OVI store有 ...

  6. 中断一 中断向量表跳来跳去跳到C

    一 中断的处理流程 1 发生中断时,CPU执行异常向量vector_irq的代码. 2 在vertor_irq里面,最终会调用中断处理的总入口函数asm_do_IRQ. 3 asm_do_IRQ根据中 ...

  7. 测试岗反复跳槽,跳着跳着就跳没了...

    去年九月份有两个年轻人踌躇满志.义无反顾地从原单位辞职,原因是付出大于回报,辛苦还赚不到钱,其中一个人是第一次辞职,另一个人是第二次辞职,其它基本相似. 年底很幸运他们都又找到了工作,今年疫情影响,找 ...

  8. IT界程序员跳来跳去,到底去大公司还是小公司?

    关注我,每天分享软件测试技术干货.面试经验,想要领取测试资料.进入软件测试学习交流群的可以直接私信我哦~~ 职场生涯总会面临着选择,尤其对我们这些 IT 人来说,跳槽的频率应该是所有行业中相当大的了. ...

  9. 在草丛间跳来跳去的小兔子更是让小草显得更加有活力

    想要得到的电影 今天的想要得到的电影,眼前的这一幕把它呆住了,这里闻闻,可是我就从中知道了一个大道理,那就只能看到天空的一小部分,他救了布拉风,可好看啦,桥的影子倒映在湖面上,哈哈,不好意思啦. 比井 ...

最新文章

  1. 70-433 Microsoft SQL Server 2008, Database Development 考试感言
  2. 滚动后mouseleave失效_发动机上的三点接触球轴承失效案例
  3. 信用评分如何应用在风控策略中(二)
  4. 支付宝二维码可以抓包更改金额_好哒二维码6大功能,让你的生意“码”上火起来!会员、卡券、码上点餐...
  5. Linux远程传输文件免密码
  6. Google Guava BloomFilter
  7. 云南省行政村谷歌图层_云南省基本农田划定工作实施细则
  8. 离开载具_迷你世界 自制火箭试飞成功 飞行载具不负众望
  9. dj鲜生-24-含资源-模板操作-注册与登陆页的模板继承
  10. 【Codeforces】894E.Ralph and Mushrooms Tarjan缩点+DP
  11. java打包后找不到图片路径,解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题...
  12. 基于STM32的智能小区安保管理系统设计
  13. redis集群原理及搭建
  14. 如何利用Excel将文字颠倒顺序显示
  15. 图片验证码识别教程技术原理分析
  16. 计算机外联管理办法,外联部管理制度
  17. MTI Further
  18. SQL数据库面试题以及答案(50例题优化版-增加图片):你必知必会的SQL语句练习
  19. 第一周总结(2022.10.17~2022.10.22)
  20. 计算机网络课程设计性能优化方案,计算机网络课程设计方案(华北电力大学科技学院).doc...

热门文章

  1. 无法连接到远程的SQL SERVER2000
  2. TCP/IP(二):IP协议
  3. mysql 主主复制的配置流程
  4. kubernetes--配置文件
  5. Oracle中主键自增长
  6. 4.4.6 数组也能无锁:AtomicIntegerArray
  7. 最近阅读20171106
  8. springMVC 相对于 Structs 的优势
  9. 12306订票助手更新
  10. Extjs4 MVC 添加view层