¿Cómo verifico si el archivo existe en jQuery o JavaScript puro?
¿Cómo verifico si un archivo en mi servidor existe en jQuery o JavaScript puro?
Aceptado
Con jQuery:
$.ajax({
url:'http://www.example.com/somefile.ext',
type:'HEAD',
error: function()
{
//file not exists
},
success: function()
{
//file exists
}
});
EDITAR:
Aquí está el código para verificar el estado 404, sin usar jQuery
function UrlExists(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
Pequeños cambios y podría verificar el estado Código de estado HTTP 200 (éxito), en su lugar.
EDITAR 2: dado que la sincronización XMLHttpRequest está obsoleta, puede agregar un método de utilidad como este para hacerlo de forma asíncrona:
function executeIfFileExist(src, callback) {
var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function() {
if (this.readyState === this.DONE) {
callback()
}
}
xhr.open('HEAD', src)
}
Un enfoque similar y más actualizado.
$.get(url)
.done(function() {
// exists code
}).fail(function() {
// not exists code
})