Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Перенаправление браузера в yii 2

Перенаправление браузера

Перенаправление браузера основано на отправке HTTP-заголовка Location. Так как данная возможность широко применяется, Yii имеет средства для её использования.

Вы можете перенаправить браузер пользователя на URL-адрес, вызвав метод [[yii\web\Response::redirect()]]. Этот метод использует указанный URL-адрес в качестве значения заголовка Location и возвращает сам объект ответа. В методе действия вы можете вызвать короткую версию этого метода — [[yii\web\Controller::redirect()]]. Например:



public function actionOld()
{
    return $this->redirect('http://example.com/new', 301);
}

В приведённом выше коде метод действия возвращает результат redirect(). Как говорилось выше, объект ответа, возвращаемый методом действия, будет использоваться в качестве ответа конечным пользователям.

В коде, находящемся вне методов действий, следует использовать [[yii\web\Response::redirect()]] и непосредственно после него — метод [[yii\web\Response::send()]]. Так можно быть уверенным, что к ответу не будет добавлено нежелательное содержимое.

\Yii::$app->response->redirect('http://example.com/new', 301)->send();

Info: По умолчанию метод [[yii\web\Response::redirect()]] устанавливает код состояния ответа равным 302, сообщая браузеру, что запрашиваемый ресурс временно находится по другому URI-адресу. Вы можете передать код состояния 301, чтобы сообщить браузеру, что ресурс перемещён навсегда.

Если текущий запрос является AJAX-запросом, отправка заголовка Location не заставит браузер автоматически осуществить перенаправление. Чтобы решить эту задачу, метод [[yii\web\Response::redirect()]] устанавливает значение заголовка X-Redirect равным URL для перенаправления. На стороне клиента вы можете написать JavaScript-код для чтения значения этого заголовка и перенаправления браузера соответственно.

Info: Yii поставляется с JavaScript-файлом yii.js, который предоставляет набор часто используемых JavaScript-утилит, включая и перенаправление браузера на основе заголовка X-Redirect. Следовательно, если вы используете этот JavaScript-файл (зарегистрировав пакет ресурсов [[yii\web\YiiAsset]]), вам не нужно писать дополнительный код для поддержки AJAX-перенаправления.

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'