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
Libérer: 2024-12-03 19:07:14
original
166 Les gens l'ont consulté

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
    }
});
Copier après la connexion

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;
}
Copier après la connexion

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;
}
Copier après la connexion

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)
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal