2012-10-04

[JavaScript] 透過Javascript 取得 Header 資訊..

 

最近遇到的需求都很奇怪..

這需求是說我要從 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();

呼叫結果:


2012-10-04_162106_thumb[3]


因為有點難用所以我大概包裝一下..



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"]);

結果:


2012-10-04_162026_thumb[1]


給有需要的人,寫的不好也請指教 …


文章參考:


http://stackoverflow.com/questions/220231/accessing-http-headers-in-javascript