Por defecto, la solicitud $ .ajax en jQuery está configurada como asíncrona. El nombre de la variable es asíncrono y el valor se establece en verdadero. Esto también me dio un poco de confusión cuando me enteré por primera vez, así que vamos a repasarlo.
Asíncrono vs. Sincrónico
La configuración predeterminada en jQuery. En mi experiencia, Asynchronous casi siempre debería hacer el truco. También hay 2 situaciones en particular que ni siquiera permiten una llamada síncrona.
- Solicitudes de dominio cruzado. Si estoy haciendo una solicitud ajax de techjunkie.com a un archivo en whereever.com (un dominio completamente diferente), sería una solicitud de dominio cruzado.
- jsonp: si está buscando recuperar datos entre dominios JSON, JSONP es lo que está buscando.
Cuando usar Synchronous
Primero debe tener en cuenta que configurar asíncrono en falso congela su navegador. Lo bloquea por completo. No solo su página, sino todas las páginas que el usuario haya abierto. Por ejemplo, si su servidor se ralentiza a mitad de la solicitud, ha deshabilitado efectivamente su navegador hasta que su servidor tenga la oportunidad de ponerse al día y transmitir los datos necesarios.
En lugar de arriesgarlo con una llamada síncrona, solo especifique una función de devolución de llamada en caso de éxito o error. Llega al mismo punto final sin posiblemente arruinar la experiencia de navegación del usuario. En resumen, no use una llamada síncrona. Es malo para su aplicación y UX.
