一、redirect方法,重定向
//重定向
public function redirect($url, $statusCode = 302, $checkAjax = true)
{
if (is_array($url) && isset($url[0])) {
// ensure the route is absolute
$url[0] = '/' . ltrim($url[0], '/');
}
$request = Yii::$app->getRequest();
$url = Url::to($url);
if (strncmp($url, '/', 1) === 0 && strncmp($url, '//', 2) !== 0) {
$url = $request->getHostInfo() . $url;
}
if ($checkAjax) {
if ($request->getIsAjax()) {
if (in_array($statusCode, [301, 302]) && preg_match('/Trident\/|MSIE[ ]/', $request->userAgent)) {
$statusCode = 200;
}
if ($request->getIsPjax()) {
$this->getHeaders()->set('X-Pjax-Url', $url);
} else {
$this->getHeaders()->set('X-Redirect', $url);
}
} else {
$this->getHeaders()->set('Location', $url);
}
} else {
$this->getHeaders()->set('Location', $url);
}
$this->setStatusCode($statusCode);
return $this;
}
二、refresh方法,刷新当前页
//刷新当前页面
public function refresh($anchor = '')
{
return $this->redirect(
Yii::$app->getRequest()->getUrl() . $anchor
);
}
总结:
阅读了2个方法:
- redirect方法,重定向
- refresh方法,刷新当前页