最近遇到的需求都很奇怪..
這需求是說我要從 Javascript 層級取得 http header ..
網路上看到一些文件..
簡單寫了一些 function 記錄一下..
取得所有 Header 然後變成一個 string .. 基本上他本來就是一大個 string
function GetAllHeaderInfo() {
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
return req.getAllResponseHeaders();
}
呼叫方法:
document.getElementById('divShowheader').innerHTML = GetAllHeaderInfo();
呼叫結果:
因為有點難用所以我大概包裝一下..
function GetAllHeaderArray() {
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders();
var AllHeaders = new Array();
for (var i = 0; i < headers.split("\n").length; i++) {
if (headers.split("\n")[i].length > 0) {
var hStr = headers.split("\n")[i];
var value = hStr.substring(hStr.indexOf(":") + 1);
AllHeaders[hStr.replace(":" + value, "")] = value;
}
}
return AllHeaders;
}
呼叫方法 :
var headers = GetAllHeaderArray();
alert(headers["Vary"]);
結果:
給有需要的人,寫的不好也請指教 …
文章參考:
http://stackoverflow.com/questions/220231/accessing-http-headers-in-javascript