在运用开拓中,常常会碰着一些带有提示信息的跳转页面,例如操作成功或者操作缺点页面,并且自动跳转到其余一个目标页面。
系统的\think\Controller类内置了两个跳转方法success和error,用于页面跳转提示。

1. 利用

利用方法较为大略,不详细举例,直接进行测试利用。

浏览器访问:

phpsuccess跳转页面ThinkPHP5开辟连载十三页面跳转 Python

将$flg的值设为0,程序走else缺点提示,浏览看重新访问:

把稳:

1. 跳转地址是可选的,success方法的默认跳转地址是$_SERVER[\公众HTTP_REFERER\"大众],error方法的默认跳转地址是javascript:history.back(-1);。

2. 默认的等待韶光都是3秒。

3. 当不继续掌握器类利用success或error方法时,须要导入跳转类的命名空间“use traits\controller\Jump”。

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连载为卓象程序员原创,转载请联系卓象程序员

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

下一篇讲解“重定向”