6
votes

Pourquoi mes demandes de jQuery .ajax sont-elles fabriquées en parallèle?

J'essaie de faire deux demandes AJAX en parallèle en utilisant jQuery comme ceci: xxx

J'ai eu la structure de base de Cette question , mais mes demandes ne sont toujours pas fabriquées en parallèle. "Source1" prend un certain temps à compléter et je peux voir sur le serveur que la deuxième demande n'est pas faite tant que le premier n'est pas terminé.

Autant que je puisse dire, je n'ai pas de Autres demandes actives, je ne pense donc pas que ce soit un problème avec le nombre maximum de demandes parallèles pour le navigateur. Est-ce que je manque autre chose ici?


3 commentaires

Que voyez-vous dans Fiddler ou Firebug?


Je viens de ré-essayé ma réponse à partir de cette question liée et ajouté un dormance (4); dans la page PHP - toujours travaillé comme prévu. Toutes les 4 demandes tirées à la fois et ont pris environ 4 secondes à compléter.


Le backend était catalyseur exécutant dans ma bac à sable de développement sans l'option -Fork. Le panneau net de Firebug n'a pas affiché la deuxième demande jusqu'à la fin du premier.


3 Réponses :


13
votes

JQuery ne fait pas la queue Demandes Ajax. Si vous êtes sûr vous ne faites aucune demande d'autre demande, que diriez-vous du serveur? Peut-être que cela n'a qu'un seul travailleur?

Modifier : et juste pour vous assurer, je l'ai testé avec un script qui lance 2 demandes de post Ajax à un script PHP qui peut accueillir 5 secondes. Ils n'étaient pas mis en file d'attente.


2 commentaires

Semble être un problème lié au serveur.


Oui, exécutait mon serveur Web dans mon bac à sable de développement sans l'option -Fork, de sorte qu'il ne manipulait qu'une demande à la fois.



0
votes

Et si vous avez utilisé $ .post au lieu de $ .ajax. Cela fonctionne pour moi.

var sources = ["source1", "source2"];

$(sources).each(function() {
  var source = this;
  $.post("/my/url/" + source, {post:"data", in:"here"}, function(data) {
      process_result(data);
  });
)};


0 commentaires

8
votes

Utilisez-vous php? utilisez-vous session_start ()? Les sessions ne peuvent pas être ouvertes parallèlement par plusieurs demandes, elles vont attendre l'un après l'autre pour terminer ce qu'ils font.


1 commentaires

Homme, je t'aime !!!!!! Totalement oublié cela, perdu 3 heures jusqu'à votre poste ;-( un grand merci de Sud de France ^^