2009-04-27 5 views
0

J'ai une page HTML jquery qui charge un formulaire.Un problème lors de la définition de la fonction de temporisation avec Jquery AJAX

La forme a un tas de paramètres, mais finalement le formulaire est soumis à l'aide d'une commande de poste (voir ci-dessous) qui retourne une page HTML construit par un script en cours d'exécution sur le serveur.

Cela fonctionne très bien, sauf lorsque le script dure plus de 5 minutes. La commande de publication ne renvoie rien.

J'ai essayé d'utiliser la commande de délai d'attente dans la page de haut niveau comme suit:

.ajaxSetup $ ({cache: false, délai d'attente : 18000000});

Mais cela ne semble pas fonctionner. Quelqu'un a-t-il une suggestion?

Voici la commande post:

$.post('/cgi-bin/tw_lookup_3.cgi', lookupData, function(data){ 

     var page = $(data).find('input[name=result_dir]').val(); 
     $('#results').load(page + "/TW_LOOKUP_RESULTS.html"); 


     $('#SubmitQuery').attr('disabled',false); 
     $('#SubmitQuery').val('Submit Query'); 
     $('#SubmitQuery').css('backgroundColor',''); 
     $('#SubmitQuery').css('color',''); 
},"html"); 

Répondre

2

Est-il possible que le délai d'attente se produit sur le serveur et il est juste de renvoyer une erreur? Définir une fonction de gestion des erreurs et déterminer si cela est appelé. Les erreurs de manipulation devraient être une pratique standard de toute façon dans ce cas, en particulier si vous attendez qu'elle prenne exceptionnellement longtemps (comme 5 minutes!)

+0

Merci pour le commentaire. Eh bien, c'est ma première application interactive avec Jquery, donc cela fait partie des raisons pour lesquelles j'ai des problèmes, je viens d'apprendre le processus. Et oui, je devrais avoir des erreurs de traitement, mais comme je suis nouveau à ce sujet, c'est une autre étape dans le processus. Je pense donc que j'ai besoin d'utiliser la méthode ajax plutôt que la méthode post pour pouvoir contrôler le timeout et ajouter une gestion des erreurs. Le code fonctionne correctement lorsque le script cgi se termine dans les 5 minutes. Le script cgi exécute un autre script sur unix et après cela, le script cgi crée un code HTML à renvoyer à la page jquery. Je vais mettre à jour plus tard –

+0

Pas de problème, et juste pour être clair, je n'essayais pas d'être pédant ou de suggérer que vous étiez paresseux en ne suivant pas une sorte de meilleure pratique, je l'ai juste vu comme un moyen utile de voir dans le processus. – cgp

+0

Pas de problème et aucune infraction prise. J'essayais de faire un petit projet et j'étais proche quand j'ai vu ce problème. Comme je l'ai trouvé en tant que programmeur, les angles de coupe (pas de gestion des erreurs) reviennent toujours. Dans ce cas, cela m'aidera à mieux comprendre et à aller plus loin. Juste un autre pas sur la courbe d'apprentissage. Je vais mettre à jour mes progrès. Merci, Stev e –

0

Tout ce que j'ai travaillé avec un collègue à ce sujet et nous avons constaté que le problème est en effet le serveur et non la page Web où j'essayais de définir le délai d'attente.

J'espère que cela aidera quelqu'un dans le futur et merci pour ceux qui ont répondu.

Steve

Questions connexes