Mootools: Как получить перенаправление, если ajax-запрос возвращает код перенаправления? - PullRequest
1 голос
/ 23 октября 2011

Мне нужно перенаправить пользователя, если запрос возвращает 302 или 303. Кажется, что нет стандартного способа сделать это (странно, я думал, что это довольно распространенная задача).

У меня есть этот код:

var request = new Request({
        url: "/some-url/",
        method: 'get',
        evalScripts: true,
        onComplete: function(){
            console.log(this.status);
        }
    });

Консоль печатает 0 статусов, но веб-инспектор показывает, что код состояния 302 Найден, поэтому я не могу вручную проверить код и получить перенаправление.Кто-нибудь знает, что я делаю не так?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 23 октября 2011

обычно, запрос ajax к 301/302/303 и т. Д. Будет следовать за новым location и повторно выдаст запрос согласно спецификации. если вы не видите второй запрос, что-то не так, например, бесконечный цикл или что-то подобное ...

больше здесь: http://dev.w3.org/2006/webapi/XMLHttpRequest/#infrastructure-for-the-send-method

2 голосов
/ 23 октября 2011

Я пробовал оба варианта (302 и 303), и он соответствует спецификации: пользовательский агент автоматически перенаправляет на URL, указанный в заголовке Location: response.Итак, наконец console.log (this.status) действительно возвращает 200, но не беспокойтесь, потому что перенаправление обрабатывается браузером автоматически (по крайней мере, в FF и Chrome).

Это консоль firebug:

firebug console

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...