¿Por qué se llama AJAX asincrónico? ¿Cómo logra la comunicación de forma asíncrona con el servidor?¿Por qué se llama AJAX asincrónico?
Respuesta
Es asincrónico porque no bloquea el navegador. Si lanza una solicitud de Ajax, el usuario puede seguir trabajando mientras la solicitud está esperando una respuesta. Cuando el servidor devuelve la respuesta, se ejecuta una devolución de llamada para manejarla.
Puede hacer que el sincrónica XMLHttpRequest
si lo desea, y si lo hace, el navegador se bloquea, mientras que la solicitud es excepcional (lo que la mayoría de las veces esto no es apropiado)
-1 Asincrónico significa "no al mismo tiempo". No explicó qué era "no al mismo tiempo" sobre AJAX. Su respuesta lo hace sonar como que puede trabajar al mismo tiempo que la llamada, por lo que se llama asincrónico, lo que no tiene sentido gramaticalmente. – gcdev
@gcdev Creo que esta confusión se debe a que, como se mencionó anteriormente [aquí] (https://stackoverflow.com/questions/748175/asynchronous-vs-synchronous-execution-what-does-it-really-mean#comment57854159_748189), "Asíncrono" y "Sincrónico" en este contexto no se refieren a la relación de temporización entre dos o más tareas; más bien se refieren a la relación entre una tarea y el reloj. Por lo tanto, esta respuesta tiene sentido. – today
En pocas palabras, no tiene por qué recarga toda la página para obtener nueva información. Piense en un cliente de correo electrónico. No necesitaría actualizar la página para ver nuevos correos electrónicos. Ajax simplemente saca el servidor cada dos minutos para ver si hay nuevos correos electrónicos, si es así, visualícelos
En mi humilde opinión, esta respuesta da una imagen equivocada de lo que es AJAX, y asincronía en general. Ni AJAX ni la asincronía equivalen a un simple sondeo repetido para evitar que el usuario tenga que actualizar una página manualmente. La asincronía se trata de no bloquear (p.no bloqueando el procesamiento adicional de la página/script mientras alguna solicitud de recursos está pendiente). Esta respuesta es correcta en el sentido de que, aparte de la asincronía, AJAX también permite cargar nuevos datos y actualizar la página actual sin cargar una página completamente nueva. – stakx
Es asincrónico porque el cliente y el servidor se ejecutan independientemente el uno del otro durante la llamada a la función.
Durante una llamada de función normal, realiza la llamada y la función de llamada no puede volver a ejecutar hasta que la llamada a la función finalice y regrese. El que llama y el que llama están siempre sincronizados.
Durante una llamada a función asincrónica, realiza la llamada y luego devuelve inmediatamente a la persona que llama. El destinatario devuelve un valor un tiempo indeterminado más tarde. Esa "cantidad indeterminada de tiempo" significa que la persona que llama y quien llama ya no están sincronizados, por lo que es asincrónico.
Gracias - ¡Finalmente entiendo exactamente qué se considera "sincrónico" y "asincrónico"! Siempre me ha intrigado que cuando ejecuta dos llamadas AJAX al mismo tiempo (sincronizadas) se las llama "asincrónicas". Lo explicaste muy bien. – gcdev
I.e. no "bloqueando", en el contexto de la ejecución de Javascript, ya que la respuesta será manejada por un bucle de evento.
El cliente y el servidor se ejecutan independientemente el uno del otro durante la llamada a la función.
Llamada a función normal: realiza la llamada y la función de llamada no puede volver a ejecutar hasta que la llamada a la función finaliza y regresa. El que llama y el que llama están siempre sincronizados.
Llamada a función asíncrona: realiza la llamada y luego controla la devolución inmediatamente a la persona que llama. El destinatario devuelve un valor de tiempo indefinido más tarde. Esa "cantidad indefinida de tiempo" significa que la persona que llama y quien llama ya no están sincronizados, por lo que es asincrónico.
Sincrónico siempre mantiene la secuencia cuando se llama, pero asíncrono no mantiene la secuencia.
- 1. ¿Por qué se llama 'Cadena'?
- 2. ¿Por qué se llama nillable?
- 3. ¿Por qué se llama RAII?
- 4. ¿Por qué se llama onBlur?
- 5. ¿Por qué se llama BSON?
- 6. Solicitudes AJAX Sincrónico Vs Asincrónico
- 7. ¿Por qué se llama una pseudo clase?
- 8. ¿Por qué paint()/paintComponent() nunca se llama?
- 9. ¿Por qué Node.js se llama Node.js?
- 10. ¿Por qué mi destructor nunca se llama?
- 11. ¿Por qué onKey() se llama dos veces?
- 12. ¿por qué textFieldDidEndEditing: no se llama?
- 13. ¿Por qué __PRETTY_FUNCTION__ se llama __PRETTY_FUNCTION__?
- 14. ¿Por qué el archivo se llama catalina.out?
- 15. ¿Por qué contextInitialized() se llama varias veces?
- 16. ¿Por qué no se llama a Application.OnStartup?
- 17. ¿Por qué se llama .NET .NET?
- 18. ¿Por qué Rails UJS ajax: bind éxito se llama dos veces?
- 19. Mongoose asincrónico por defecto
- 20. ¿Por qué se llama onResume() cuando se inicia una actividad?
- 21. ¿Por qué mi método BeginInvoke no es asincrónico?
- 22. ¿Por qué before_save no se llama para mi modelo ActiveRecord?
- 23. ¿Por qué se llama a hashcode en este ejemplo?
- 24. ¿Por qué se les llama "la pandilla de los cuatro"?
- 25. ¿Por qué numberOfSectionsInTableView se llama dos veces en UITableViewController?
- 26. ¿Por qué no se llama mi filtro de acción?
- 27. ¿Por qué 'dir()' se llama 'dir' en python?
- 28. ¿Por qué se llama a ContentProvider.onCreate() antes de Application.onCreate()?
- 29. ¿Por qué no se llama a mi delegado de CLLocationmanager?
- 30. ¿Por qué se llama varias veces al constructor HttpApplication?
http://stackoverflow.com/questions/1510011/how-does-ajax-work –