Я пытаюсь перенаправить мое приложение на свое приложение после того, как я выполнил неатифицированный запрос GET с помощью ajax. Однако, когда я получаю перенаправление (сервер отправляет 303 с /login.html для местоположения), я получаю полный HTML-код login.html в своем ответе при просмотре вкладки Response в консоли firebug (возможно, это нормально, я Не уверен. Затем, просматривая это в firebug, я вижу, что он пытается выполнить перенаправление, но консоль просто вращается над этим действием (никогда не заканчивает его обработку). Я пытался найти некоторую соответствующую информацию в Интернете, и не был успешным, ближе всего я нашел: HERE.Перенаправление после Ajax GET
Вот как я ее обработки в JavaScript:
function doSomethingAwesome()
{
try
{
ajaxObject.open("GET", serverLocation+ '?action=getSomeInfo', true);
ajaxObject.send();
}
catch(err){}
}
ajaxObject.onreadystatechange = function()
{
if(ajaxObject.status == 200 && ajaxUsers.readyState == 4)
{
do some stuff
}
}
Мой заголовок ответа имеет следующая информация: 303 See Other Connection: Keep-жив Дата Адрес: /login.html сервер Nginx/1.2.7 Transfer-Encoding: фрагментированное Так функция onreadystatechange не должна реально влиять на редирект (от того, что Я но я думал, что брошу его туда. На самом деле все, что должно происходить здесь, это я говорю с сервером, чтобы загрузить некоторую информацию, он видит, что я не зарегистрирован (будь то GET или POST), и я должен получить перенаправление на страницу входа в систему (которая не работает) t). Извините, если это звучит как бессвязное, я ценю любой совет или помощь, которую кто-либо может предложить.
Идея здесь заключается в том, что сервер будет выполнять мандат и обеспечивать перенаправление по соображениям безопасности. Однако для этого я попытался вручную перенаправить внутри функции onreadystatechange и ничего не изменилось. В консоли firebug я по-прежнему вижу сначала отправляемый GET-запрос, а затем GET «http: // stuff/login.html» с постоянно вращающимся кругом загрузки. Для меня это похоже на то, что он знает, что нужно перенаправлять, но где-то повесился. – Tombo890
@ user1005658, делая 'window.location.href = 'someurl';' обязательно перенаправит, уверены ли вы, что строка будет выполнена? Если это так, возможно, вы столкнулись с циклом перенаправления. – plalx
да, это точно сделает перенаправление. Где мой вопрос лидирует, не должен ли браузер обрабатывать перенаправление 303? Или это то, что я должен наблюдать и вручную вытаскивать местоположение из заголовка и делать перенаправление? Похоже, что страница не была бы действительно защищена, если вам нужно следить за 303 и перенаправлять страницу, любой может установить точку останова и остановить работу javascript, но если да, то как я могу посмотреть на 303? – Tombo890