2009-08-05 5 views
2

Есть ли способ перенаправить пользователя на страницу (страница входа в мой случай), когда запрос AJAX выполняется пользователем на сервер? Предполагается, что сервер будет обслуживать данные только в том случае, если сеанс установлен или пользователь должен быть перенаправлен. Я попытался отправить запрос заголовка («location: ...»), но браузер обработал его как строку (xmlhttp.response), а не воздействовал на него.Перенаправление браузера с использованием AJAX

ответ

2

Не напрямую. Функция обратного вызова должна будет обрабатывать ее.

Например, если сервер отправляет текст «LOGIN; /login.php;» то ваш onreadystatechange обратного вызова может иметь сниппает

if (xmlhttp.responseText.substring(0,6) == 'LOGIN;') { 
    window.location.href = xmlhttp.responseText.split(";")[1]; 
    return; 
} 

Если вы используете рамки для Ajax, этот код может быть в зависимости от того, обратного вызова получает результат вызова Ajax.

1

В функции обратного вызова вы можете установить window.location на новую страницу, если сеанс не установлен.

2

№ Не сразу. Вы можете вернуть что-то особенное, которое должно обрабатываться как перенаправление. Но поскольку браузер не ищет навигации, и это не так.

+0

Тогда я это сделаю. Благодаря :) –

Смежные вопросы