[跳转,AJAX返回和重定向]
[页面跳转]
操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法:
[success方法]
/*** 操作成功跳转的快捷方法* @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 = [])
常用方式:
//默认跳转到$_SERVER['HTTP_REFERER']$this->success('添加成功');//默认跳转到article/index$this->success('添加成功',url('article/index'));//默认跳转到article/index,并设置数据$this->success('添加成功',url('article/index'),['id'=>1]);
[error方法]
/*** 操作错误跳转的快捷方法* @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 = [])
常用方式:
//默认跳转到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方法]
常用方式:
//默认跳转到$_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方法]
常用方式:
//默认跳转到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);
