62

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

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

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

4

2 に答える 2

105

簡単です。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ではなく とonerror)を使用する場合があります。ontimeoutonreadystatechange

于 2008-12-02T11:11:41.367 に答える
-4

XMLHTTPRequest オブジェクトには、

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

その上で定義された

于 2008-12-02T11:12:24.377 に答える