2011-01-19 14 views
10

Sé que esto se ha hecho muchas veces antes ....load() con la función de éxito

que tiene un simple ('#Div').load(file.php?id='+id+'&page='+page)

El evento de clic sobre los actos de la siguiente manera

function recp(id) { 
    var user = $('#page').attr('page'); 
    $("#button").hide() 
    $("#loading").html('<img src="images/loader.gif">'); 
    $('#div').load('file.php?id='+id+'&page='+page); 
    $("#loading").empty(); 
    $("#button1").show() 
} 

I tener un proceso similar en mi sitio con una publicación de Ajax, funciona muy bien, pero parece que no puedo hacer que funcione con .load().

Necesitaría un poco de asesoramiento. Aclamaciones.

+0

Podría mostrar su código real, por favor? – lonesomeday

+0

modificó la pregunta (con código agregado) – Alfie

Respuesta

27

El problema es que load es asincrónico. La llamada a la función devuelve antes de se completa la solicitud AJAX. Si tiene código que debe ejecutarse después de la solicitud está completa, es necesario utilizar la devolución de llamada complete especificado en el API:

$('#div').load('file.php?id='+id+'&page='+page, function(){ 
    $("#loading").empty(); 
    $("#button1").show(); 
});  
+0

Puede sonreír en esa foto suya ... Funcionó gracias. – Alfie

Cuestiones relacionadas