Javascript / Ajax中的HTTP HEAD请求?

时间:2008-12-02 11:02:37

标签: javascript ajax http-headers xmlhttprequest

是否可以在JavaScript中单独使用XMLHTTPRequest来执行HTTP头请求?

我的动机是节省带宽。

如果没有,是否可以伪造它?

2 个答案:

答案 0 :(得分:93)

简单,只需使用HEAD方法,而不是GET或POST:

function UrlExists(url, callback)
{
    var http = new XMLHttpRequest();
    http.open('HEAD', url);
    http.onreadystatechange = function() {
        if (this.readyState == this.DONE) {
            callback(this.status != 404);
        }
    };
    http.send();
}

这只是一个简短的例子,展示了如何使用HEAD方法。生产代码可能需要针对不同结果状态(成功,失败,超时)进行更细粒度的回调,并且可能使用不同的event handlersonloadonerrorontimeout而非onreadystatechange)。

答案 1 :(得分:-1)

XMLHTTPRequest对象应该有

getAllResponseHeaders();
getResponseHeader("header-name")

在其上定义