|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 47 ![]() |
Bonjour,
J'aimerais savoir s'il est possible de limiter les requêtes simultannées XHR ? J'ai une boucle qui lit un fichier JSON et qui envoie une requête XHR a chaque ligne (100 lignes). Le problème est qu'il envoi 100 requêtes en même temps et que le serveur de l'autre côté ne gére pas çà (Google) Le but est d'injecter 100 nouvelles entrées dans un calendrier Google via Google Calendar API. Dans ce cas, XHR et le fichier JSON ne concerne pas l'API de Google. En comparaison, Mootools gére très bien çà dans le REQUEST avec l'option LINK: CHAIN. Mais je ne peux pas l'utiliser car CORS ne gére pas les entête X-Requested-With et Mootools ne permet pas de supprimer cette entête. Voila merci en espérant que vous pouvez m'aider. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2011 Messages : 5 107 ![]() |
Bonjour,
as tu essayé d'envoyer la requête suivante quand la précédente à aboutie? |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 157 ![]() |
Je pense surtout que tu as essentiellement un problème de conception...
Prévoir d'envoyer une centaine de requêtes simultanées n'est pas viable, tu devrais penser à rapatrier toutes les données en une seule fois puis faire les traitements adaptés.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : février 2008 Messages : 47 ![]() |
Citation:
La solution que j'ai trouvé a été d'envoyé les requêtes, les une aprés les autres avec un setTimeout d'une seconde qui s’incrémente à chaque nouvelle connection et voila ^^ Merci pour vos réponses |
|
|
|
00
|
|
|
#5 | ||||||
|
Membre du Club
![]() ![]() Sébastien DAMARTDéveloppeur Web Inscription : septembre 2012 Messages : 29 ![]() |
Salut,
Dans l'hypothèse où vos données J.S.O.N sont stockées dans un tableau, 3 Solutions sont possible 1 - vous utilisez jQuery Code :
Code :
Code :
En résumer le principe est de stocker vos requête JSON dans un array en variable globale, créer un index global et d'utiliser un fonction itérative pour envoyer une à une chaque requête. Bonne Chance |
||||||
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 47 ![]() |
waow super la réponse
Complète ... Merci
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Christele RubneauInscription : novembre 2009 Messages : 1 055 ![]() |
Bonjour,
Je m'incruste, car je ne comprends rien a ce débat Je croyais qu'Il était impossible d'envoyer des requêtes simultanées, puisque les programmes s'exécutent ligne par ligne ! Donc la fonction AJAX (ou autre) ne peut être appelée qu’une par une. Ors cela crée une instance, a chaque fois, comme si la fonction se dédoublait. En cela JavaScript utilise cette méthode au même titre que le langage "C" par exemple. Si je calcule une fractale par AJAX, ce sera 5.000.000 d'appels en quelques secondes. Alors j'ai mal compris Ou bien c'est l'emploi des jQuery ou autres usines à gaz qui perturbent cette logique ? A++ Christele |
|
|
00
|
|
|
#8 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 157 ![]() |
Il est habituel pour la gestion des requêtes AJAX de créer une fonction créant l'objet XMLHttpRequest(), dans une version minimaliste, ce serait :
Code :
A partir de là, il est possible d'envoyer plusieurs requêtes AJAX distinctes et différenciées. Ensuite, les navigateurs limitent le nombre de requêtes HTTP concurrentes, mais c'est une autre problématique.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#9 | ||||||||
|
Membre du Club
![]() ![]() Sébastien DAMARTDéveloppeur Web Inscription : septembre 2012 Messages : 29 ![]() |
L’inconvénient c'est l'objet XMLHttpRequest.
Selon la version d'internet explorer, l'objet ne peut pas être instancié. Pas de panique, Seb connait une parade à ce problème. Il existe plusieurs solutions plus ou moins similaires. La première la moins agile consiste a tester l'instanciation de l'objet. Code :
Code :
Code :
Code :
|
||||||||
|
00
|
|
|
#10 | |
|
Membre Expert
![]() ![]() Christele RubneauInscription : novembre 2009 Messages : 1 055 ![]() |
Citation:
"new ActiveXObject('Microsoft.XMLHTTP');" et donc pas besoins d'astuces pour je ne sais quelle raison. Depuis IE7 c'est encore plus simple puisque new XMLHttpRequest(); est intégré. A++ Christele |
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() ![]() Sébastien DAMARTDéveloppeur Web Inscription : septembre 2012 Messages : 29 ![]() |
Je préfère gérer ce genre de cas même s'il est peu probable. Les seuls cas pour lesquels je m'abstient se sont les cas hautement improbable.
De plus, pour ma part, j'utilise jQuery donc je me pose plus la question. |
|
00
|
|
|
#12 | |
|
Membre Expert
![]() ![]() Christele RubneauInscription : novembre 2009 Messages : 1 055 ![]() |
Citation:
car en fait c'est un JavaScript compilé, qui utilises (ne t'y trompes pas), tout simplement XMLHttpRequest(); A++ Christele |
|
|
|
00
|
|
|
#13 | ||||
![]() ![]() Inscription : janvier 2011 Messages : 5 107 ![]() |
Citation:
Citation:
|
||||
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() ![]() Christele RubneauInscription : novembre 2009 Messages : 1 055 ![]() |
Bonsoir,
Tu ne m'as pas bien lu, j'avais expliqué, deux messages plus haut, que plus pour longtemps car depuis IE7 XMLHttpRequest(); est intégré A++ Christele |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 157 ![]() |
Pour rappel, la place de IE6 est actuellement d'environ 0.5 %...
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
Copyright © 2000-2013 - www.developpez.com