Bonjour,
Je développe une application JEE avec Tomcat 7. Sur une de mes pages web, après un clique sur un bouton, je lance un processus long via une requête Ajax ($.post). Une fois le processus terminé, il me retourne les données au format JSON et je mets à jour un tableau.
Pendant ce processus qui peut durer un certain temps, je souhaite que l'utilisateur puisse toujours se promener sur la page. Par la, je veux dire qu'il puisse cliquer sur d'autres boutons, qui lancent eux aussi des requêtes Ajax, en attendant que le processus long se termine. Ces autres requêtes sont très rapides, elles ne font que me retourner des données pour de l'affichage.
Le problème quand je fais ça (cliquer sur les autres lanceurs de requêtes Ajax), c'est qu'une fois que la procédure longue est terminée, les données retournées sont vide. Ce qui n'est pas le cas si je ne touche à rien après avoir lancée la procédure longue.
Voilà à quoi ressemble de type de requête que j'envoie (classique, vous me direz):
Toutes mes requêtes sont comme ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $.post("envs/clear", { idEnv: id }, function(data) { console.log(data); // traitements // mise à jour du tableau });
Niveau Java, j'appelle une fonction aussi simple que ça à la fin de mes fonctions (c'est vraiment à titre informatif, car je sais que ce forum n'est pas à propos du java) :
Voilà, j'aimerai savoir ce qui cause ce problème, et comment le résoudre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 protected void renderJSON(Object obj) { try { resp.setContentType("text/json"); resp.getWriter().write(StringUtils.toJSON(obj)); } catch (IOException e) { e.printStackTrace(); } }
Merci d'avance.
Partager