我試圖創建一個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」請求+螢火蟲響應),但我沒有得到任何「測試「警報或螢火蟲控制檯中的任何文字。
編輯:這是修改後的代碼:
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