Для банковского приложения мне необходимо перенаправить пользователя на внешнюю страницу входа, если (и только если) токен доступа неверен. Это перенаправление может быть инициировано только с сервера, поскольку этот токен доступа никогда не отправляется клиенту.Выполнение перенаправления PHP после запроса ajax
PHP выглядит следующим образом (используя тонкий каркас):
$app->get('/banking', function (\Slim\Http\Request $request, \Slim\Http\Response $response, $args) {
if(token == valid) {
// do your stuff
} else {
$banking = new Banking();
$connection = $banking->getConnection();
return $response->withHeader('Location', $connection->login_url('someRandomString'));
}
});
$connection->login_url()
генерирует URL Я хочу перенаправить. Однако jQuery не перенаправляет меня на эту страницу, а загружает содержимое страницы в строку ответа функции обратного вызова. (Я прочитал here, что браузеры просто будут следовать перенаправлению молча)
Есть ли способ заставить клиента фактически перенаправить страницу или помочь javascript узнать, что на самом деле она должна перенаправляться на внешнюю страницу, а не загружать содержимое в скрипт? Как?
возвращает ответ JSON с перенаправлением URL как свойство, разобрать, что в ваших JavaScript и выполнить на стороне клиента перенаправления – Steve
По определению вы не сможете перенаправить серверную сторону с помощью AJAX – Jonathan
Если вы показываете свой javascript, может быть предоставлен ответ – Jonathan