Foros del Web » Programando para Internet » Javascript »

Continuar después de que acabe

Estas en el tema de Continuar después de que acabe en el foro de Javascript en Foros del Web. Buenas, Tengo este script de Ajax: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original if ( ajax. readyState == 4 )           ...
  #1 (permalink)  
Antiguo 16/01/2013, 11:05
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Continuar después de que acabe

Buenas,

Tengo este script de Ajax:

Código Javascript:
Ver original
  1. if(ajax.readyState==4)
  2.             {
  3.             var respuesta=ajax.responseText;
  4.             document.getElementById('result').innerHTML=ajax.responseText;
  5.             $("#newaircraftdialog").dialog('close');
  6.            
  7.             $(document).ready(function(){
  8.                 refreshTable();
  9.             });
  10.            
  11.             $("#loadingdialog").dialog('close');
  12.             }

El problema que tengo es que quiero que el #loadingdialog se cierre cuando la función anterior del refreshTable finalice por completo. Ahora lo que hace es ejecutar la función y a continuación cerrar el dialog, pero la función le lleva un rato hacer lo que tiene que hacer. Por lo que cuando se cierra el dialog la función todabía no ha tenido tiempo de actualizar la tabla.
  #2 (permalink)  
Antiguo 16/01/2013, 11:20
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Continuar después de que acabe

Pero que estas haciendo porque pones un document ready dentro de un ajax eso esta totalmente mal solamente debes poner el refreshTable y listo.

Ademas si estas usando ya jQuery porque estas usando ajax puro entonces no tiene ningun sentido tu codigo ni tu estructura ni como lo estas haciendo trata de corregir esos puntos

Cuando uses el ajax nativo tienes que validar que el status tambien sea 200

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 16/01/2013, 11:31
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Respuesta: Continuar después de que acabe

Cita:
Iniciado por Dradi7 Ver Mensaje
Pero que estas haciendo porque pones un document ready dentro de un ajax eso esta totalmente mal solamente debes poner el refreshTable y listo.

Ademas si estas usando ya jQuery porque estas usando ajax puro entonces no tiene ningun sentido tu codigo ni tu estructura ni como lo estas haciendo trata de corregir esos puntos

Cuando uses el ajax nativo tienes que validar que el status tambien sea 200

Saludos
Lo del status ya lo hago pero no he puesto el código. Por mucho que quite el document ready eso no funciona.
  #4 (permalink)  
Antiguo 16/01/2013, 11:40
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Continuar después de que acabe

la pregunta del millon seria porque no pones tu codigo completo que hace refreshtable no soy ni somos adivinos para saber que esta pasando y ademas como te dije o usa jQuery o usas JavaScript puro eso que estas haciendo es garrafal

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 16/01/2013, 11:43
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Respuesta: Continuar después de que acabe

Cita:
Iniciado por Dradi7 Ver Mensaje
la pregunta del millon seria porque no pones tu codigo completo que hace refreshtable no soy ni somos adivinos para saber que esta pasando y ademas como te dije o usa jQuery o usas JavaScript puro eso que estas haciendo es garrafal

Saludos
Ya lo he arreglado:

Código Javascript:
Ver original
  1. function refreshTable(callback){
  2.     $('#table').load('aircrafts_table.php', callback);
  3.  
  4. }
  5.  
  6. refreshTable(function(){$("#loadingdialog").dialog('close');});
  #6 (permalink)  
Antiguo 16/01/2013, 11:45
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Continuar después de que acabe

Bueno de todas maneras la forma de como lo estas haciendo no es apropieda pero bueno si te sale estara bien

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: continuar, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:05.