Je rencontre un problème que je ne parviens pas à régler :
Je suis en train de développer un site web basé sur GWT pour une application mobile, en utilisant Ajax. Lorsque je teste mon site depuis un PC, tout fonctionne sans problème, par contre dès que je passe sur le navigateur de ma tablette, j'ai des appels Ajax redondants, je m'explique :
Côté client, je clique sur un bouton qui lance un traitement Côté serveur, je reçois la demande de traitement, mais ce traitement prend entre 3 secondes et 5 minutes. Si au bout de 10 secondes le serveur n'a pas répondu, je reçois de nouveau une demande de traitement de la part du client, sans action de ma part côté client.
C'est cette seconde requête qui devient prioritaire, donc lorsque la réponse à la première requête arrive, elle n'est pas traitée côté client.
Voici ce que j'ai essayé :
- Mettre un timestamp dans l'appel client pour forcer un traitement différent côté serveur : KO, je reçois exactement la même requête côté serveur, une copie de la première en fait - Passer le cache Ajax à False : KO, j'ai quand même un double appe - Coder côté serveur : si je reçois un second appel contenant un timestamp que je suis déjà en train de traiter, ne pas traiter cette requête : KO, le client attend le résultat de la seconde requête (je ne sais même pas comment le client identifie ses requêtes)
Marsh Posté le 10-02-2012 à 11:43:03
Bonjour à tous,
Je rencontre un problème que je ne parviens pas à régler :
Je suis en train de développer un site web basé sur GWT pour une application mobile, en utilisant Ajax. Lorsque je teste mon site depuis un PC, tout fonctionne sans problème, par contre dès que je passe sur le navigateur de ma tablette, j'ai des appels Ajax redondants, je m'explique :
Côté client, je clique sur un bouton qui lance un traitement
Côté serveur, je reçois la demande de traitement, mais ce traitement prend entre 3 secondes et 5 minutes.
Si au bout de 10 secondes le serveur n'a pas répondu, je reçois de nouveau une demande de traitement de la part du client, sans action de ma part côté client.
C'est cette seconde requête qui devient prioritaire, donc lorsque la réponse à la première requête arrive, elle n'est pas traitée côté client.
Voici ce que j'ai essayé :
- Mettre un timestamp dans l'appel client pour forcer un traitement différent côté serveur : KO, je reçois exactement la même requête côté serveur, une copie de la première en fait
- Passer le cache Ajax à False : KO, j'ai quand même un double appe
- Coder côté serveur : si je reçois un second appel contenant un timestamp que je suis déjà en train de traiter, ne pas traiter cette requête : KO, le client attend le résultat de la seconde requête (je ne sais même pas comment le client identifie ses requêtes)
Est-ce que vous avez déjà rencontré ce problème ?
Merci,