Maison >interface Web >js tutoriel >Comment puis-je vérifier l'existence d'un fichier sur un serveur à l'aide de jQuery et JavaScript ?

Comment puis-je vérifier l'existence d'un fichier sur un serveur à l'aide de jQuery et JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 19:07:14116parcourir

How Can I Verify File Existence on a Server Using jQuery and JavaScript?

Vérification de l'existence d'un fichier avec jQuery et JavaScript

Déterminer l'existence d'un fichier sur un serveur est crucial dans divers scénarios de développement Web. Ce guide complet vous guidera à travers deux approches pratiques : utiliser jQuery et JavaScript pur.

Méthode jQuery

jQuery fournit une méthode élégante pour vérifier l'existence d'un fichier à l'aide de XHR avec le Type de requête HEAD. Le code suivant illustre cette approche :

$.ajax({
    url:'http://www.example.com/somefile.ext',
    type:'HEAD',
    error: function()
    {
        // File does not exist
    },
    success: function()
    {
        // File exists
    }
});

Méthode JavaScript pure

Sans jQuery, le JavaScript pur offre une fonctionnalité similaire en utilisant l'objet XMLHttpRequest. Voici une implémentation efficace :

function UrlExists(url)
{
    var http = new XMLHttpRequest();
    http.open('HEAD', url, false);
    http.send();
    return http.status!=404;
}

Notez que le code ci-dessus vérifie un code d'état HTTP 404. Pour vérifier un code d'état réussi (par exemple, 200), effectuez la modification suivante :

function UrlExists(url)
{
    var http = new XMLHttpRequest();
    http.open('HEAD', url, false);
    http.send();
    return http.status == 200;
}

Alternative asynchrone pour JavaScript

Étant donné que XMLHttpRequest synchrone est obsolète, considérez le méthode utilitaire asynchrone suivante :

function executeIfFileExist(src, callback) {
    var xhr = new XMLHttpRequest()
    xhr.onreadystatechange = function() {
        if (this.readyState === this.DONE) {
            callback()
        }
    }
    xhr.open('HEAD', src)
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn