您的位置 首页 php

「ThinkPHP5开发连载十三」页面跳转

上一篇文章讲解“空操作+空控制器”,本篇文章讲解“页面跳转”。


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


1. 使用

使用方法较为简单,不具体举例,直接进行测试使用。

浏览器访问:

将$flg的值设为0,程序走else错误提示,浏览器重新访问:


2. 跳转模板

1)跳转模板位置

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

这是官方给的跳转模板,可以修改此模板,但一般不做修改。如果需要重新定义跳转模板,可以自定义。

2)自定义跳转模板

①配置项

②修改配置项

修改跳转模板的配置项,设置为项目内的模板。

注意:

1. 完整路径为:

‘dispatch_success_tmpl’ => APP_PATH . ‘index’ . DS .’view/public/success. html ‘,

2. 写完整路径,可定位到任何位置。

③新建success与error模板

④浏览器访问

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


3 . 小版本错误

对于success与error,官方给出了一项注意点:

error方法会自动判断当前请求是否属于 ajax 请求,如果属于Ajax请求则会自动转换为default_ajax_return配置的格式返回信息。success在Ajax请求下不返回信息,需要开发者自行处理。

针对以上的注意,我们测试一下是否正确,此时使用的 ThinkPHP 版本为5.0.12。ThinkPHP版本号在thinkphp/base.php中。

测试步骤:

①在Index控制器中新建testBug方法,主要用来展示html页面。

②新建testbug.html模板,模板中要有ajax。

模板位置:application/index/view/index/testbug.html

③在Index控制器中新建fanHui方法,此方法进行success和error的返回。

④浏览器访问testBug方法,点击“调用”按钮。

调整if判断的年龄,让其走else的error。

注意:

1. 经测试5.0.12版本,ajax请求时,success与error方法均返回信息,返回数据格式与default_ajax_return配置项设定相同。

2. 官方给出success在ajax请求时不返回信息,是个bug。

ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员

关注卓象程序员,定期发布技术文章

下一篇讲解“重定向”

文章来源:智云一二三科技

文章标题:「ThinkPHP5开发连载十三」页面跳转

文章地址:https://www.zhihuclub.com/151606.shtml

关于作者: 智云科技

热门文章

网站地图