with form example consulta boton async jquery ajax asynchronous jquery-ajaxq

form - ¿Cuál es la diferencia entre async: false y async: true en jquery ajax?



jquery submit form ajax (2)

En jquery ajax debería haber un parámetro

$.ajax({async : true, ...});

¿Cuál es la diferencia entre establecer el valor en verdadero y falso?


Establece asincrónico en falso , cuando necesita que se complete esa solicitud ajax antes de que el navegador pase a otros códigos:

<script> // ... $.ajax(... async: false ...); // Hey browser! first complete this request, // then go for other codes $.ajax(...); // Executed after the completion of the previous async:false request. </script>

By default, the request in jQuery is set to asynchronous $ .ajax request in jQuery is set to asynchronous . El nombre de la variable es asincrónico y el valor se establece en verdadero. Esto también me dio un poco de confusión cuando lo aprendí por primera vez, así que repasémoslo.

Sincrónico (async: falso) : el script se detiene y espera a que el servidor envíe una respuesta antes de continuar. Hay algunas situaciones donde Synchronous Ajax es obligatorio.

En las aplicaciones web estándar, la interacción entre el cliente y el servidor es sincrónica. Esto significa que uno tiene que suceder después del otro. Si un cliente hace clic en un enlace, la solicitud se envía al servidor, que luego envía los resultados.

Debido al peligro de que se pierda una solicitud y se cuelgue el navegador, JavaScript síncrono no se recomienda para nada aparte de (antes) descarga controladores de eventos, pero si necesita escuchar el servidor antes de poder permitir que el usuario se vaya desde la página, JavaScript síncrono no es solo tu mejor opción.

$.ajax({ url: "file.php", type: "POST", async: false, success: function(data) { // ..... } });

Asincrónico (async: verdadero) : donde el script permite que la página continúe procesándose y gestionará la respuesta en el momento y en el momento en que llegue. Si algo sale mal en la solicitud y / o transferencia del archivo, su programa aún tiene la capacidad de reconocer el problema y recuperarse de él. El procesamiento evita de forma asíncrona el retraso mientras se realiza la recuperación desde el servidor porque el visitante puede seguir interactuando con la página web y la información solicitada se procesará con la respuesta actualizando la página a medida que llega.

$.ajax({ url: "file.php", type: "POST", async: true, success: function(data) { // ..... } });

También eche un vistazo a este artículo

Llamadas AJAX asincrónicas y síncronas


Establecerlo en false bloquea el hilo principal (responsable de ejecutar JavaScript, renderizar la pantalla, etc.) y espera a que se complete el XHR.

Esto es casi siempre una idea terrible. A los usuarios no les gustan las IU que no responden.