Ajax usa devoluciones de llamadas, ya que es A
sincrónico.cómo bloquear en la llamada ajax (quiero bloquear)
Deseo que mi llamada al bloque de URL remoto hasta que haya alguna respuesta, exactamente como en Ajax, pero sin la parte asincrónica, o debo decir que quiero hacer una llamada JAX.
¿Hay alguna técnica para hacer que suceda lo siguiente (utiliza jQuery) (... solución con jQuery o cualquier otra cosa):
function get_data() {
$.ajax({
type : "POST",
url : "/foo"
}).done(function(data, textStatus, jqXHR) {
return data;
}).fail(function(jqXHR, textStatus) {
return null;
});
}
var data = get_data();
// process `data`
me pregunto - quieren aprender.
En realidad, hay momentos en los que bloquear hasta que una respuesta se ajuste bien. No digo que quiera bloquear el navegador, solo el tiempo de ejecución del script.
escritura 'asíncrono: false' con la opción ajax – diEcho
jQuery $ .ajax tiene la propiedad' async'. Si lo configura en falso, bloqueará. – osoner
posible duplicación de [Llamadas síncronas con jquery] (http://stackoverflow.com/questions/2942544/synchronous-calls-with-jquery) - no se puede bloquear el tiempo de ejecución sin bloquear el navegador. Y no puede devolver la respuesta de las devoluciones de llamada, tiene que asignarla a una variable y devolverla desde la función real. –