Llamadas sincrónicas con jquery

¿Puedo hacer uso de la API jQuery AJAX y hacer una llamada síncrona?

Como Obama diría: ¡SI PUEDES!

jQuery .ajax ()

Ajuste

async = false 

dentro del controlador .ajax () hará el truco.

Si bien jQuery puede sincronizar llamadas AJAX estableciendo la propiedad synch: false, esto hace que el navegador se cuelgue hasta que el AJAX finalice. El uso de una biblioteca de control de flujo como Frame.js le permite realizar llamadas sincrónicas sin bloquear el navegador:

 $.each(ajaxObjects, function(i, ajaxCall){ Frame(function(next)){ // declare the callback next here ajaxCall.complete = function(data){ // do something with the data next(); // go to the next ajax call } $.ajax(ajaxCall); }); } Frame.init(); 

Esta serie de llamadas AJAX se realizará en orden, cada una esperando que se complete la anterior, sin hacer que el navegador se cuelgue. También tiene el beneficio adicional de que los datos vuelven de las llamadas ajax en un orden predecible, a diferencia de las llamadas asincrónicas que vuelven en orden aleatorio.