2011-07-27 4 views
0

J'ai une arborescence qui montre ma structure de répertoire du serveur. l'utilisateur entre un nom de dossier et je crée ce dossier dans mon répertoire racine sur le serveur. mon code est le suivantmise à jour des données de page en utilisant ajax

$.post("makeDir.php", {data:path}); //makeDir.php creates the folder using mkdir() 
location.reload(true); 

im en utilisant location.reload(true) pour montrer utilisateur l'arbre mis à jour. maintenant le problème est que sumtimes, la demande de «post» n'est pas encore terminée et il recharge la page bientôt enuf que le dossier nouvellement créé n'est pas affiché dans l'arborescence. Deuxièmement, je ne sais pas si l'utilisation de location.reload (true) est la bonne façon de le faire! dans cette situation shud j'utilise la fonction $ .ajax()?

Répondre

2

Utilisez le success PARAM $.post

$.post("makeDir.php", {data:path}, function() { 
    location.reload(true); 
); 
+0

merci beaucoup marc .... BTW si nous utilisons location.reload (true) clignote page (ofcourse cauze il recharge), mais est-il possible que je puisse éviter ce clignotement ou effet « rafraîchissant »? – samach

+0

Peut-être quelque chose comme '$ ('corps') charge. (Location.href + 'corps')' fonctionnerait. Cela dépend de la structure de votre site. – marc

1

Cela fera en sorte que la page rechargements seulement après la demande est terminée.

$.post("makeDir.php", {data:path},function(){ 
    location.reload(true); 
}); 
1

Si vous prévoyez de recharger la page, n'utilisez pas Ajax. Il suffit de soumettre un formulaire.

Si vous allez utiliser Ajax - ne rechargez pas la page. Avoir le serveur renvoie certaines données, processus (mise à jour du DOM) avec le rappel (le troisième argument à $.post).

+0

oui que wud donner un sens !! Merci – samach

Questions connexes