## 页面跳转 操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法: #### success方法 ```php /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param string $url 跳转的URL地址 * @param mixed $data 返回的数据 * @param integer $wait 跳转等待时间 * @param array $header 发送的Header信息 * @return void */ protected function success($msg = '', $url = null, $data = '', $wait = 3, array $header = []) ``` 常用方式: ```php //默认跳转到$_SERVER['HTTP_REFERER'] $this->success('添加成功'); //默认跳转到article/index $this->success('添加成功',url('article/index')); //默认跳转到article/index,并设置数据 $this->success('添加成功',url('article/index'),['id'=>1]); ``` #### error方法 ```php /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param string $url 跳转的URL地址 * @param mixed $data 返回的数据 * @param integer $wait 跳转等待时间 * @param array $header 发送的Header信息 * @return void */ protected function error($msg = '', $url = null, $data = '', $wait = 3, array $header = []) ``` 常用方式: ```php //默认跳转到javascript:history.back(-1); $this->error('添加失败'); //默认跳转到article/index $this->error('添加失败',url('article/index')); //默认跳转到article/index,并设置数据 $this->error('添加失败',url('article/index'),['id'=>1]); ``` ## AJAX返回 和上面的页面跳转类似也使用 success,error方法,只是如果是 ajax请求会以 json格式返回 #### success方法 常用方式: ```php //默认跳转到$_SERVER['HTTP_REFERER'] $this->success('添加成功'); //默认跳转到article/index $this->success('添加成功',url('article/index')); //默认跳转到article/index,并设置数据 $this->success('添加成功',url('article/index'),['id'=>1]); ``` 返回结果: ``` { "code":1, "msg":"添加成功!", "data":"", "url":"", "wait":3 } ``` #### error方法 常用方式: ```php //默认跳转到javascript:history.back(-1); $this->error('添加失败'); //默认跳转到article/index $this->error('添加失败',url('article/index')); //默认跳转到article/index,并设置数据 $this->error('添加失败',url('article/index'),['id'=>1]); ``` 返回结果: ``` { "code":0, "msg":"添加失败!", "data":"", "url":"", "wait":3 } ``` ## 重定向 重定向用控制器的 redirect 方法 ``` /** * URL重定向 * @access protected * @param string $url 跳转的URL表达式 * @param array|integer $params 其它URL参数 * @param integer $code http code * @return void */ protected function redirect($url, $params = [], $code = 302) ``` 常用方式: redirect方法的参数用法和助手函数url的用法一致(参考URL生成部分),如: ``` $this->redirect('Article/index', ['id' => 2]); ``` 重定向到指定的外部URL地址 并且使用302 ``` $this->redirect('http://www.thinkcmf.com',302); ```