2012-06-27 7 views
0

J'ai deux appels ajax. Les deux sont synchrones. Les deux méthodes d'appel d'un contrôleur. Mais la deuxième méthode est frappée en premier. Pourquoi est-ce et comment le changer?Ajax sync ou async

+0

appel première méthode, * * attente pour une réponse, appel seconde méthode? – MatBailie

+1

du code s'il vous plaît – Timeless

+0

élaborée signifie complètement comment vous envoyez la demande s'il vous plaît nous raconter l'histoire. –

Répondre

1

Comme le nom dit Ajax - Asynchronous JavaScript

Ajax est async


Modifier

Pour vous la question que vous pouvez faire comme appeler seconde URL sur la réponse de la première, Un exemple simple jQuery est,

/*First request*/ 
$.post("{SOME_URL}", { PARAMS }, 
    function(data) { 
     /*Do anything with data*/ 
     /*Your second request*/ 
     $.post("{SOME_URL}", { PARAMS }, 
      function(data) { 
       /*Do anything with data*/ 
      } 
     ); 
    } 
); 

En outre, jQuery prend en charge async indicateur qui peut être défini sur false pour activer la nature asynchrone de la requête. Mais cela bloquera toutes les autres demandes de la même page.

S'il vous plaît en savoir plus sur ce here

+2

mais nous pouvons également envoyer l'appel de synchronisation par l'intermédiaire d'ajax –

+0

C'est seulement fait du côté de navigateur en bloquant l'autre demande. Où comme au noyau Ajax async. Vous devez gérer le code du serveur pour cela. –

+1

Non seulement les demandes de blocage. 'async' bloque l'exécution de tous les scripts **, même dans des onglets différents, c'est-à-dire bloque tout le navigateur. ** Ne l'utilisez pas - c'est un satan! **: D – freakish