Я пытаюсь создать запрос Ajax, а затем проанализировать заголовок ответа, чтобы получить атрибут «Местоположение». Это мой код:Ajax запрос, но без содержимого
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status == 301) {
alert('test');
var header = request.getResponseHeader('Location');
console.log(header);
}
}
request.open('GET', hrefAttr, true);
request.send(null);
Проблема заключается в том, что по какой-то причине, просьба отправить и ответ получен тоже (красный «GET» запрос + ответ в Firebug), но я не получаю " test "или любой текст в консоли firebug.
EDIT: Это модифицированный код:
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
console.log(request.readyState);
if(request.readyState <= 3 && request.status == 301) {
alert('test');
var header = request.getResponseHeader('Location');
console.log(header);
}
else if (request.readyState == 0 && request.status == 301) {
alert('state0');
}
}
request.open('GET', hrefAttr, true);
request.send();
console.log (request.readyState) дает такую последовательность состояний: 1, 1, 2, 4.
На вкладке консоли Firebug Http Request + Response показывают штраф, но красным цветом (если это что-то означает).
Не знаете, почему я не работаю ... Редактировать: Я использую Firefox.
Заранее благодарен!
Вы уверены, что код ответа 301? – Gary
Да, в заголовке я получаю: «HTTP/1.1 301 Moved». –
Как насчет readyState, это 0 случайно? – Gary