Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ajax se hace un lio en el readyState=1 con varias capas

Estas en el tema de Ajax se hace un lio en el readyState=1 con varias capas en el foro de Frameworks JS en Foros del Web. Hola. Vereis tengo una web con 3 capas en las cuales tengo contenido. En la primera tengo fotos de "marcos", en la segunda tengo "fotos ...
  #1 (permalink)  
Antiguo 26/10/2010, 17:13
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 3 meses
Puntos: 8
Ajax se hace un lio en el readyState=1 con varias capas

Hola.
Vereis tengo una web con 3 capas en las cuales tengo contenido.
En la primera tengo fotos de "marcos", en la segunda tengo "fotos para poner en los marcos" y en la tercera tengo un listado de lo que el cliente ha escogido.

Pues bien, cuando carga inicialmente la pagina se cargan los marcos y el cliente escoge uno e inmediatamente despues se visualizan (con ajax) las fotos compatibles con dicho marco escogido. Entonces una vez escogido lo que el cliente quiere (marco + foto) pues le da a un boton para añadirlo al pedido y mostrar dicha linea de pedido en la tercera capa mencionada anteriormente (con ajax tambien).
Entonces si el cliente decide escoger otro marco, pues las imagenes se vuelven a cargar ya que las anteriores no eran validas para el nuevo marco elegido (con ajax igualmente).

Hasta ahi todo correcto.
El problema viene cuando (en firefox o chrome) al volver a pinchar en otro marco diferente se me muestra el "loading" (readyState=1) en la tercera capa, sí sí, la que contiene el desglose del pedido, cuando deberia mostrarlo en la segunda capa, la de las fotos.
Y asi mismo, cuando ya he escogido el marco y la foto para añadirla al pedido, cuando le doy a "Añadir cuadro a mi pedido" es la segunda capa la que muestra el "loading" (readyState=1) y así sucesivamente.

Esto en ie8 funciona perfecto y no me hace eso, pero en firefox y chrome se hace un lio entre dichas capas y muestra el loading en una u otra segun le viene en gana.

Ya he chequeado el codigo y cada llamada ajax le digo que muestre el resultado en las capas correctas (de hecho si estuviera mal ie8 no lo mostraria bien tampoco)

No se por que puede ser que ajax se haga un lio con ambas capas.
  #2 (permalink)  
Antiguo 26/10/2010, 17:32
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Ajax se hace un lio en el readyState=1 con varias capas

Como informacion adicional os diré que si elimino el codigo del readyState = 1 todo funciona correctamente.

Este es el codigo que tengo en dicho estado del ajax:

Código Javascript:
Ver original
  1. switch(var_ObjetoXMLHttpRequest.readyState){
  2.         case 0:{break;} //Uninitialized
  3.         case 1:{//Loading
  4.             var objHtmlActualizar;
  5.             switch(arg_accion){
  6.                 case 'muestraFotos':{
  7.                     objHtmlActualizar = document.getElementById(arg_idObjHtmlContenedor);
  8.                     objHtmlActualizar.innerHTML = "<img src='images/aniIcons/loader.gif' /> Obteniendo fotos disponibles...";
  9.                     break;
  10.                 }
  11.                 case 'anyadeProdAlPedido':{
  12.                     objHtmlActualizar = document.getElementById(arg_idObjHtmlContenedor);
  13.                     objHtmlActualizar.innerHTML = "<img src='images/aniIcons/loader.gif' /> Añadiendo el producto escogido a su pedido...";
  14.                     break;
  15.                 }              
  16.             }
  17.         }

Digamos que cuando debe ir solo por el "case 'anyadeProdAlPedido':" tambien pasa antes por el "case 'muestraFotos':" cuando no deberia hacerlo.
Y como ya os he dicho me he asegurado de que la variable "arg_accion" tiene el valor correcto en cada caso cuando hago las llamadas a las funciones de ajax

Última edición por mdromed; 26/10/2010 a las 17:39
  #3 (permalink)  
Antiguo 26/10/2010, 17:48
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Ajax se hace un lio en el readyState=1 con varias capas

Usa jQuery y todo se te hara mas sencillo ^^
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 27/10/2010, 09:18
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Ajax se hace un lio en el readyState=1 con varias capas

Jquery para esto?
Pero independientemente de que se pueda hacer con Jquery, lo mio deberia funcionar bien y sin embargo no lo hace bien!

AYUDA POR FAVORR!!!!!!!!!!!!!
  #5 (permalink)  
Antiguo 27/10/2010, 12:58
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 11 meses
Puntos: 9
Respuesta: Ajax se hace un lio en el readyState=1 con varias capas

No se mucho del funcionamiento de tu aplicación,... pero yo creo que debes hacer algún tipo de "jugada" al momento de añadir el pedido del articulo, de tal manera que se reinicie todo.

Por ejemplo si tus articulos están en memoria puedes usar quizás un reload(), e inicializar nuevamente tu aplicación y el pedido seguirá manteniendose en memoria.

p.d. has probado tu aplicación quitandole/activando la compatibilidad en IE8?
__________________
Quitenme la vida pero no la bebida.
  #6 (permalink)  
Antiguo 28/10/2010, 06:21
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Ajax se hace un lio en el readyState=1 con varias capas

Cita:
Iniciado por cesarpunk Ver Mensaje
No se mucho del funcionamiento de tu aplicación,... pero yo creo que debes hacer algún tipo de "jugada" al momento de añadir el pedido del articulo, de tal manera que se reinicie todo.

Por ejemplo si tus articulos están en memoria puedes usar quizás un reload(), e inicializar nuevamente tu aplicación y el pedido seguirá manteniendose en memoria.

p.d. has probado tu aplicación quitandole/activando la compatibilidad en IE8?
Lo he revisado tio, y solo hago en cada enlace una sola llamada diferente en cada caso.
Lo de la compatibilidad de ie8 no lo uso pq precisamente el unico navegador donde funciona es ie8.
Donde no funciona es en chrome y firefox
  #7 (permalink)  
Antiguo 28/10/2010, 10:01
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Ajax se hace un lio en el readyState=1 con varias capas

A alguien mas le ha pasado esto?

Etiquetas: ajax, capas, loading, readystate
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 19:36.