javascript - headers - xmlhttprequest open
Solicitud HTTP HEAD en Javascript/Ajax? (2)
¿Es posible hacer una solicitud de HTTP Head utilizando únicamente una solicitud XMLHTTP en JavaScript?
Mi motivación es conservar el ancho de banda.
Si no, ¿es posible falsificarlo?
Fácil, solo use el método HEAD, en lugar de GET o 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();
}
Este es solo un pequeño ejemplo para mostrar cómo usar el método HEAD. El código de producción puede necesitar devoluciones de llamada más finas para diferentes estados de resultados (éxito, falla, tiempo de espera) y puede usar diferentes manejadores de eventos ( onload
, onerror
y ontimeout
lugar de onreadystatechange
).
Un objeto XMLHTTPRequest debería tener
getAllResponseHeaders();
getResponseHeader("header-name")
definido en él