Запрос HTTP HEAD в Javascript / Ajax?


можно ли сделать запрос HTTP Head исключительно с помощью XMLHTTPRequest в JavaScript?

моя мотивация заключается в сохранении пропускной способности.

Если нет, то можно ли его подделать?

2   51   2008-12-02 14:02:37

2 ответа:

легко, просто используйте метод 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. Производственный код может нуждаться в более детальных обратных вызовах для разных состояний результата (успех, сбой, тайм-аут) и может использовать разные обработчики событий (onload,onerror и ontimeout, а не onreadystatechange).

объект XMLHTTPRequest должен иметь

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

определен