在运用开拓中,常常会碰着一些带有提示信息的跳转页面,例如操作成功或者操作缺点页面,并且自动跳转到其余一个目标页面。系统的\think\Controller类内置了两个跳转方法success和error,用于页面跳转提示。
1. 利用
利用方法较为大略,不详细举例,直接进行测试利用。
浏览器访问:
将$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连载为卓象程序员原创,转载请联系卓象程序员关注卓象程序员,定期发布技能文章
下一篇讲解“重定向”