Ajax и redirect в action

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
Аватара пользователя
diiimonn
Сообщения: 15
Зарегистрирован: 2012.12.02, 21:05
Откуда: Харьков
Контактная информация:

Ajax и redirect в action

Сообщение diiimonn »

Приветствую!
Если отправлять ajax на action c redirect то в yii.js отрабатывает этот кусок кода:

Код: Выделить всё

...
function initRedirectHandler() {
        // handle AJAX redirection
        $(document).ajaxComplete(function (event, xhr, settings) {
            var url = xhr.getResponseHeader('X-Redirect');
            if (url) {
                window.location = url;
            }
        });
    }
...
и перенаправляет обратно с перезагрузкой естественно.
Для чего данный код нужен вообще?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Ajax и redirect в action

Сообщение lynicidn »

нельзя перехватить редирект, поэтому во фреймворке добавили такую "фишку для ajax" https://github.com/yiisoft/yii2/blob/ma ... e.php#L758 и это надо сказать круто, если уметь пользоваться
Аватара пользователя
diiimonn
Сообщения: 15
Зарегистрирован: 2012.12.02, 21:05
Откуда: Харьков
Контактная информация:

Re: Ajax и redirect в action

Сообщение diiimonn »

ясность, спс.
Аватара пользователя
diiimonn
Сообщения: 15
Зарегистрирован: 2012.12.02, 21:05
Откуда: Харьков
Контактная информация:

Re: Ajax и redirect в action

Сообщение diiimonn »

хотя вот не покидает ощущение, что неправильно где-то..
Вот если надо перехватить редирект то соответственно добавляешь в заголовок параметр, а по умолчанию должно быть стандартное поведение.
А так аматоры вроде меня могут долго думать почему ajax не работает, что собственно и приключилось когда-то :)
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Ajax и redirect в action

Сообщение lynicidn »

раньше нельзя было обновить грид к примеру после редактирования модели в модальном окне, только редирект, т.к. он в стандартном крудошаблоне, а сейчас можно перехватить редирект, по умолчанию он будет произведен вышеуказанным вами кодом, но можно и к примеру его не делать, а просто обновить грид с учетом текущих фильтров и страницы пагинатора со всеми вытекающими
countryman
Сообщения: 143
Зарегистрирован: 2015.12.15, 02:05

Re: Ajax и redirect в action

Сообщение countryman »

diiimonn писал(а):по умолчанию должно быть стандартное поведение.
Поддерживаю. Потратил час на то, чтобы разобраться в этой неожиданной фишке.
Ответить