2010-03-08 3 views
0

J'ai un script qui prend du temps.Afficher la page de traitement, puis rediriger une fois terminé

J'aimerais afficher une page lors du traitement du script puis rediriger lorsque le processus est terminé.

Par exemple: form.php -> processing.php -> display_result.php

Je voudrais que processing.php apparaît immédiatement après la forme est présenté montrant (traitement de vos informations, s'il vous plaît patienter ...)

Une fois le traitement est terminé, la page doit être redirigé vers display_result.php

y at-il de toute façon de sorte affleurant le contenu dans le navigateur avant le début du traitement, puis redirigez lorsque le processus est terminé?

Répondre

1

Cela ressemble à une tâche Javascript/Ajax.

appels Ajax sont asynchrones, ce qui les rend idéales pour ce que vous essayez d'atteindre.

Vous envoyer le contenu du formulaire par une demande ajax et contrôlons ensuite le DOM de la page pour afficher quelque chose comme une barre de chargement alors que la demande est en cours. Lorsque la requête se termine, vous pouvez à nouveau manipuler le DOM pour afficher le résultat du traitement du formulaire, ou rediriger vers une nouvelle page avec cette information.

0

vous pouvez le faire d'une manière simple.

une fois que vous soumettez le formulaire, votre traitement commence dans le côté serveur.

redirigent l'utilisateur vers processing.php avec un simple contenu de rafraîchissement de la balise meta avec quelques secondes allez être redirigé vers la même processing.php.

<meta http-equiv="refresh" content="600"> par exemple

processing.php doit avoir une logique de script côté serveur qui vérifie si votre traitement est terminé. si c'est terminé, redirigez l'utilisateur vers display_result.php.

0

Vous devez utiliser Ajax pour cette tâche.

<div class="trigger">Trigger</div> 
<div class="result"></div> 
<div class="log"></div> 

$('.log').ajaxStart(function() { 
    $(this).text('Please wait...'); 
}); 

Référence
http://api.jquery.com/ajaxStart/

Questions connexes