À l'aide d'Ajax et jQuery pour vérifier si le fichier existe - renvoie toujours la réponse de 200

Je suis donc nécessaire de vérifier si un fichier existe avant d'afficher des données spécifiques aux clients...à l'aide de jQuery, j'ai ceci:

<script>
function fileExists(fileLocation) {
    var response = $.ajax({
        url: fileLocation,
        type: 'HEAD',
        async: false
    }).status;
    alert(response);
}
</script>

Lorsque je tente d'exécuter la fonction:

<script> fileExists('http://www.example.com/123.jpg'); </script>

(où example.com est mon domaine), j'ai TOUJOURS recevoir un code de réponse de 200. Je me demandais pourquoi ce qui se passe - se pourrait-il que j'ai une page d'erreur personnalisée définie par le biais de .htaccess? Ou, est-il une meilleure méthode pour faire cela?

Note: jQuery 1.5.1 est utilisé.

Mise à jour: il semble qu'Il est dirigé vers notre page d'erreur personnalisée définie par le biais de .htaccess:

ErrorDocument 404 http://www.example.com/errors/notfound.php

Ne sais pas si cela provoque le conflit, ou comment la contourner.

RÉSOLU

J'ai vérifié les en-têtes pour ma page 404 personnalisée, c'était de retourner un code de réponse de 200. A coder en dur l'en-tête:

<?php header('HTTP/1.1 404 Not Found'); ?>

qui serait alors de retourner le code de réponse 404 - fixer mon problème.

Se produit même si le fichier n'existe pas?
Oui, par exemple: 123.jpg n'existe pas sur le serveur, mais il renvoie un code d'état 200 de toute façon.
Sonne comme le serveur n'est pas configuré correctement. Ce qui se passe quand vous OBTENEZ une ressource? Ne vous obtenez toujours une de 200, mais avec un contenu qui suggère 404? Auquel cas, cela sonne comme de mauvaises config.
Essayé à l'aide de GET, toujours pas de dé - <script> function fileExists(fileLocation) { $.ajax({ type: 'GET', url: fileLocation, success: function() { alert('Page found.'); }, error: function(jqXHR, textStatus, errorThrown){ log(jqXHR); log(errorThrown); } }); } </script>
Hey, @pennstate_fanboy. C'est génial que vous avez résolu votre problème — s'il vous plaît poster une réponse et de l'accepter, au lieu d'ajouter la réponse à la question.

OriginalL'auteur William Orazi | 2011-09-19