🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 跳转和重定向 干货: ~~~ $this->success('新增成功',) $this->error('新增失败'); $this->redirect(‘http://www.baidu.com’); ~~~ * * * * * 1,系统的\think\Controller类内置了两个跳转方法success和error ~~~ 1,$this->success('新增成功', 'User/list'); 2,$this->error('新增失败'); 跳转地址是可选的, success方法的默认跳转地址是$_SERVER["HTTP_REFERER"], error方法的默认跳转地址是javascript:history.back(-1);。 ~~~ 2,success和error方法都可以对应的模板,默认的设置是两个方法对应的模板都是: `THINK_PATH . 'tpl/dispatch_jump.tpl'` 我们可以改变默认的模板: ~~~ //默认错误跳转对应的模板文件 'dispatch_error_tmpl' => APP_PATH . 'tpl/dispatch_jump.tpl', //默认成功跳转对应的模板文件 'dispatch_success_tmpl' => APP_PATH . 'tpl/dispatch_jump.tpl', ~~~ 也可以使用项目内部的模板文件 ~~~ //默认错误跳转对应的模板文件 'dispatch_error_tmpl' => 'public/error', //默认成功跳转对应的模板文件 'dispatch_success_tmpl' => 'public/success', ~~~ ## 重定向 \think\Controller类的redirect方法可以实现页面的重定向功能。 redirect方法的参数用法和Url::build方法的用法一致(参考URL生成部分),例如: ~~~ //重定向到News模块的Category操作 $this->redirect('News/category', ['cate_id' => 2]); ~~~ 上面的用法是跳转到News模块的category操作,重定向后会改变当前的URL地址。 或者直接重定向到一个指定的外部URL地址,例如: ~~~ //重定向到指定的URL地址 并且使用302 $this->redirect('http://thinkphp.cn/blog/2',302); ~~~