2010-03-25 4 views
1

L'utilisation de jQuery.ajax() pour lire "./ex.html" renvoie le contenu attendu du fichier dans la première zone d'alerte. En utilisant le même appel en modifiant simplement la demande à "./" ne renvoie pas une liste de répertoires attendus dans la deuxième zone d'alerte.Comment lire le répertoire en utilisant jQuery .ajax()?

<html> 
<head> 
</head> 
<body> 
<script type="text/JavaScript" src="jquery.js"></script> 
<script type="text/JavaScript"> 
    alert($.ajax({type: "GET", url: 'ex.html', async: false}).responseText); 
    alert($.ajax({type: "GET", url: '.',  async: false}).responseText); 
</script> 
</body> 
</html> 

Lorsque l'accès au fichier directement: $ firefox ex.html les résultats sont décrits. $ firefox . affiche:

Index de file: /// home/cwhii/travail/JQ/ex

Jusqu'à répertoire de niveau supérieur

Nom Taille Dernière modification

ex.html 1 KB 03/24/2010 10:29:37 PM

jquery.js 161 ko 03/17/2010 05:16:58 PM

Cliquez ensuite sur le lien ex.html pour générer le contenu du fichier attendu dans la première zone d'alerte et la liste de répertoires dans la deuxième zone d'alerte. En résumé, l'appel de firefox avec le nom de fichier sur la ligne de commande ne produit pas la liste de répertoires mais lorsque vous naviguez vers le même fichier via le lien sur la page de répertoire la deuxième zone d'alerte affiche la liste.

De plus, j'invoquais bêta 5.0.307.11 du navigateur Google Chrome dans tous les moyens décrits ci-dessus et tous les résultats obtenus pas les listes de répertoires dans les zones d'alerte, même si $ google-chrome . produit une page la liste des répertoires.

Répondre

11

Vous aurez besoin d'une sorte de code côté serveur pour générer une liste de fichiers/dossiers dans un répertoire. Votre serveur Web redirige probablement cette requête vers la page par défaut du répertoire (index.html, default.html, etc.) ou lance une page 404/403/etc, car la page que vous avez demandée ne l'est pas. exister.

+0

Je voudrais vous upvote, mais j'aime vos points actuels ...;) – deceze

+0

Eh bien, maintenant il a changé de toute façon ... +1 :) – deceze

3

Javascript ne fait pas de «répertoires» ou de «fichiers», il ne fonctionne qu'avec des URL. Quel que soit votre serveur répond avec lors de la demande / est tout ce que Javascript a accès.

1

Si le serveur Web a la navigation/la liste de répertoires en cours, alors le peut fonctionner en.

Idéalement, vous créez une page/un script côté serveur pour renvoyer une liste de répertoires en tant que JSON.

0

Vous devez écrire un script PHP liste de répertoires et de transmettre le répertoire où il doit analyser par .ajax $ ...

nue jQuery ne sera pas suffisant pour atteindre cet objectif.

Questions connexes