54 votes

HTTP TÊTE de Demande en Javascript/Ajax?

Est-il possible de faire un Chef de HTTP demander uniquement à l'aide d'un XMLHTTPRequest en JavaScript?

Ma motivation est d'économiser de la bande passante.

Si non, est-il possible de faire semblant?

98voto

doekman Points 5187

Facile, il suffit d'utiliser la méthode HEAD, au lieu de GET ou 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();
}

C'est juste un petit exemple pour montrer comment utiliser la méthode HEAD. Le code de Production peuvent avoir besoin de plus fine des rappels pour des résultats différents états (succès, échec, délai d'attente), et peut utiliser différents gestionnaires d'événements (onload, onerror et ontimeout plutôt que d' onreadystatechange).

-2voto

adam Points 10572

Un objet XMLHTTPRequest devrait avoir

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

définie sur elle

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X