Ajax リクエストを作成し、レスポンス ヘッダーを解析して「Location」属性を取得しようとしています。これは私のコードです:
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);
問題は、何らかの理由でリクエストが送信され、応答も受信されることです (Firebug の赤い「GET」要求 + 応答) が、firebug コンソールに「テスト」アラートもテキストも表示されません。
編集:これは変更されたコードです:
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を使用しています。
前もって感謝します !