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 7ème annuaire annuel contient toutes les images
Des pensées?
3 réponses
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
Vous devez créer le répertoire assets / photos / 7thAnnual /. Soyez sûr que vous l'avez fait
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 auquel il tente d'accéder. (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!
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.