Hola a todos!,
estoy usando ajax en una aplicación web con Springframework a través de la librería DWR.
Usando ésto sólamente necesito crear un archivo de definición dwr.xml y definirlo en mi web.xml.
A paritir de aquí puedo usar mis clases java (sus métodos) definidas en dwr.xml como llamadas asíncronas.
El problema viene con que ajax sea asíncrono (aunque para eso lo estoy usando) pues en un momento determinado necesito verificar el valor de una variable devuelta por una de estas ejecuciones de ajax y obviamente no se cuando ajax va a devolverme el valor y por tanto las comparaciones que hago no funcionan...Lo he probado todo:
1)Hacer un bucle comprobando la variable que inicio a -1 y el valor que ajax me va a devolver en esa variabl sólo puede ser 0 o 1
while(variable==-1){
i=0;
}
pero al ejecutar IE me dice que un script se está ejecutando y puede ralentizar mucho la ejecución de IE -> Mi usuario no puede ver esto!!==opción descartada
2) Hacer un contador de 0 a lo que sea, bien pues o es demasiado poco tiempo (hago la comparación antes de que venga la variable) o pasa lo mismo que en el problema 1)
3) Hago una especie de timeout calculando la fecha actual - la de inicio hasta que pasen unos segundos -> Como si no hiciera nada, el tema pasa de mi....
4)meto directamente en el manejador ("callbackhandler" al que se va cuando la ejecución ha terminado) el códio que quiero ejecutar según la respuesta de ajax sea 0 o1 en el manejador -> las iteraciones (que son 6) se mezclan y llegan en desorden
5)onreadystatechange no lo puedo usar (o eso creo) porque no tengo ningún objeto ajax creado (uso dwr y nunca creo tan objeto..., igual estoy diciendo una barbaridad pero no uso un open ni nada de lo que se debe crear cuando se usa ajax a pelo...)
6)cosas varias que no funcionan...
Podría por favor alguien echarme una mano con esto??Algo equivalente a "onreadystatechange" o lo que sea, aunque parezca poco elegante para mi será más que suficiente.
Por favor, esto es realmente urgente y ya no se ni que hacer ni a quién recurrir
Muchas gracias!!
Cristina.