jquery pajax если получает ответ 301 по 301
options.error = function(xhr, textStatus, errorThrown) {
var container = extractContainer("", xhr, options)
// Check redirect status code
var redirect = (xhr.status >= 301 && xhr.status <= 303)
// Do not fire pjax::error in case of redirect
var allowed = redirect || fire('pjax:error', [xhr, textStatus, errorThrown, options])
if (redirect || options.type == 'GET' && textStatus !== 'abort' && allowed) {
locationReplace(container.url)
}
}
то вызывается функция locationReplace
// Internal: Hard replace current state with url.
//
// Work for around WebKit
// https://bugs.webkit.org/show_bug.cgi?id=93506
//
// Returns nothing.
function locationReplace(url) {
if(!pjax.options.history) return;
window.history.replaceState(null, "", pjax.state.url)
window.location.replace(url)
}
В результате чего приходится отказываться от redirect а там где не не работает pajax ajax использовать redirect
на старых телефонах использую redirect (им не повезло)
if(!Yii::$app->request->isPjax || !Yii::$app->request->isAjax)
return $this->redirect(['group/show','id' => $id ]);