web-dev-qa-db-ja.com

HTTP HEAD Javascript / Ajaxでのリクエスト?

JavaScriptでXMLHTTPRequestのみを使用してHTTPヘッドリクエストを行うことは可能ですか?

私の動機は帯域幅を節約することです。

そうでない場合、それを偽造することは可能ですか?

53
EoghanM

簡単で、GETまたはPOSTの代わりにHEADメソッドを使用するだけです:

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ではなく、onerrorontimeout、およびonreadystatechange)。

94
doekman

XMLHTTPRequestオブジェクトには

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

それで定義された

0
adam