J'ai le code suivant:

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
    function loadPhotos(folderName){
            var folder = "assets/photos/"+folderName+"/";
            $.ajax({
                url : folder,
                success: function (data) {
                    $(data).find("a").attr("href", function (i, val) {
                        if( val.match(/\.(jpe?g|png|gif)$/) ) { 
                            $("body").append( "<img src='"+ folder + val +"'>" );
                        } 
                    });
                }
            });
          }
</script>
</head>

<html>
 <div onclick="loadPhotos('7thAnnual')">7th Annual</div>
</html>

Pour une raison étrange lorsque je clique sur le div, la fonction loadPhotos lance une erreur 404 introuvable sur l'appel ajax .... mais le répertoire qu'il dit ne pas trouver existe.

Pour mémoire, je l'exécute sur localhost (http://127.0.0.1:8020/).

La structure du répertoire est Ljf / assets / photos / 7thAnnual ....

Le chemin complet serait donc http://127.0.0.1:8020/Ljf/assets/photos / 7thAnnual

Le répertoire 7thAnnual contient toutes les images

Des pensées?

4
DJ Burb 6 mars 2016 à 05:21

3 réponses

Meilleure réponse

D'accord .... il semble donc que je dois pleinement qualifier le nom dans l'URL comme suit:

var folder = "127.0.0.1:8020/Ljf/assets/photos/7thAnnual";

Au lieu d'utiliser simplement:

var folder = "Ljf/assets/photos/7thAnnual"

Cette réponse apporte un

"Les demandes d'origine croisée ne sont prises en charge que pour les schémas de protocole: http, data, chrome, chrome-extension, https, chrome-extension-resource."

Qui est un problème différent de ce post, mais il résout le

404 introuvable

Je vais donc le marquer comme la réponse

1
DJ Burb 6 mars 2016 à 14:19

Vous devez créer le répertoire assets / photos / 7thAnnual /. Soyez sûr que vous l'avez fait

0
Michael Horta Fleitas 6 mars 2016 à 02:35

Si vous exécutez cela en chrome et ouvrez le petit inspecteur astucieux

(faites un clic droit sur l'arrière-plan quelque part, choisissez inspecter, puis accédez à l'onglet réseau dans la fenêtre d'inspection)

Puis cliquez sur le div qui devrait déclencher l'ajax, il devrait vous montrer le chemin vers lequel il essaie d'arriver. (sur votre petit panneau réseau tout en bas)

Assurez-vous que le chemin semble correct

Regardez la réponse pour voir s'il y a d'autres informations potentiellement utiles

Faites-moi savoir ce que vous trouvez!

0
Stephen Black 6 mars 2016 à 03:05