Проблема чтения XMLHttpRequest.status при перенаправлении - PullRequest
1 голос
/ 27 февраля 2010

Я запрашиваю что-то с $ .ajax, и после звонка я получаю статус 302 или 200. Я хочу вставить что-то в DOM, когда статус равен 200, и сделать фактическое перенаправление, когда статус возвращается 302.

Для этого я использую: (взял этот фрагмент из другой ветки)

complete: function (XMLHttpRequest, textStatus) {
    alert(XMLHttpRequest.status);

    if(XMLHttpRequest.status === 302) {
        //if it wants to redirect
        window.location = XMLHttpRequest.getResponseHeader("Location");
    }
}

Когда статус POST возвращается 200, все работает отлично.

Проблема в том, что когда я получаю статус 302 (который, как я вижу, получаю с помощью firebug), firebug показывает мне, что сразу после первой публикации выдается запрос GET, и я получаю предупреждение "200" даже если исходный POST имеет статус 302. Нормально ли, что после POST с возвращенным статусом 302 появляется коротышка GET, и если да, то почему я, очевидно, получаю статус этого GET, а не POST?

1 Ответ

2 голосов
/ 27 февраля 2010

Это нормально. Там нет способа обнаружить 302 статуса. Сначала браузер перенаправляет, а затем вы получаете некоторый статус, но это не статус запрашиваемой вами страницы.

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