2009-06-23 8 views
0

J'ai un formulaire d'inscription existant qui est soumis de la manière traditionnelle (non-ajax). Je veux fusionner en Javascript afin que je puisse utiliser certaines des données de ce formulaire pour remplir d'autres champs dans une autre base de données. Si cette insertion prend beaucoup de temps (une minute), la page va-t-elle être verrouillée jusqu'à ce que l'appel AJAX revienne?Formulaire de soumission complexe utilisant AJAX pour traiter un script supplémentaire

<script language="javascript"> 
$(document).ready(function(){ 
    $("#setupform").submit(function(){ 
     doAJAXcallHERE(); 
    }); 
}); 
</script> 

Au fond, n'est ma page Web va arrêteraient si la page PHP appelée par la fonction AJAX prend plus d'une minute pour traiter?

Merci!

+0

Voulez-vous dire "ne servira-t-il pas d'autres demandes?" ? – karim79

Répondre

1

Si la demande va prendre plus de quelques secondes, vous devriez probablement:

  • Désactiver le bouton Soumettre une fois l'appel fait ils ne cherchent pas resoumettre la forme encore et encore.
  • Afficher une sorte de message à l'écran pour les informer que leur demande est en cours de traitement, en leur demandant de s'y accrocher! Afficher une sorte de animated indicator avec le message. en particulier

Ces 2 derniers points feront en sorte que l'utilisateur est conscient que quelque chose passe dans les coulisses. En outre, si vous attendez que la demande soit longue, assurez-vous que les paramètres de délai d'attente de votre serveur Web sont ajustés en conséquence.

0

déjà répondu correctement, mais je voudrais ajouter un peu plus ... sur la page php, vous devez utiliser définir la durée d'exécution maximale via set_time_limit(0). votre script de soumission ajax doit être bien optimisé. Surtout IE6 a beaucoup de problèmes tout en soumettant le fichier & après les données avec ajax. si vous utilisez des techniques étranges (je l'utilise souvent), vous devrez peut-être changer votre script à un simple 1. il y a quelque temps j'ai eu un problème avec IE6 comme le vôtre. le navigateur se bloquait. juste parce qu'une définition de tableau pour sérialiser plusieurs boutons radio. tous les autres navigateurs fonctionnent bien avec le script, mais IE6 s'arrête, attend & attend ... même si IE7 fonctionnait parfaitement.

btw, il semble que vous utilisez Jquery ... Je vous conseille d'utiliser le plugin jquery blockui sur malsup.com. vous devez également informer votre visiteur/client d'attendre.

Questions connexes