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

Varias funciones ajax o una sola para todo

Estas en el tema de Varias funciones ajax o una sola para todo en el foro de Frameworks JS en Foros del Web. Hola a todos! Mi pregunta es la siguiente: Si en la llamada a la funcion de "leerdatos" de ajax no se le pueden pasar parametros, ...
  #1 (permalink)  
Antiguo 30/10/2009, 09:50
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Varias funciones ajax o una sola para todo

Hola a todos!
Mi pregunta es la siguiente:

Si en la llamada a la funcion de "leerdatos" de ajax no se le pueden pasar parametros, ¿Entonces hay que crear una funcion "leerdatos" por cada funcionalidad ajax que tengamos en la pagina?

var_ObjXMLHttpRequest.onreadystatechange = leerdatos();

Es decir, ¿Tendriamos que hacer una llamada a una funcion diferente por cada funcionalidad ajax de la pagina?

De esta manera por ejemplo?

var_ObjXMLHttpRequest.onreadystatechange = leerdatos1();
var_ObjXMLHttpRequest.onreadystatechange = leerdatos2();
var_ObjXMLHttpRequest.onreadystatechange = leerdatos3();

¿No se puede tener una misma funcion "leerdatos" para todo lo que se quiera hacer con ajax?
  #2 (permalink)  
Antiguo 30/10/2009, 11:56
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Varias funciones ajax o una sola para todo

Nadie lo sabe?
  #3 (permalink)  
Antiguo 30/10/2009, 20:06
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Varias funciones ajax o una sola para todo

Primero, esto es incorrecto:
Código PHP:
var_ObjXMLHttpRequest.onreadystatechange leerdatos(); 
Debería ser:
Código PHP:
var_ObjXMLHttpRequest.onreadystatechange leerdatos
Es decir, sin paréntesis (que justamente es por eso que decís lo de "no poder pasar datos").
No obstante, un camino sencillo para solucionarlo es envolver la invocación en una función anónima:
Código PHP:
var_ObjXMLHttpRequest.onreadystatechange = function(){leerdatos(argumento);} 
Y entonces ya podés usar argumentos, que es en realidad lo que estás necesitando.
  #4 (permalink)  
Antiguo 01/11/2009, 16:06
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Varias funciones ajax o una sola para todo

Cita:
Iniciado por Panino5001 Ver Mensaje
un camino sencillo para solucionarlo es envolver la invocación en una función anónima:
Código PHP:
var_ObjXMLHttpRequest.onreadystatechange = function(){leerdatos(argumento);} 
Y entonces ya podés usar argumentos, que es en realidad lo que estás necesitando.
Me parece bien, pero ese argumento que quiero pasar ¿tiene ambito dentro de dicha funcion? ¿O he de definir dicho argumento como una variable global para que el ambito llegue hasta la funcion inline?
  #5 (permalink)  
Antiguo 01/11/2009, 17:11
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Varias funciones ajax o una sola para todo

Los argumentos de una función siempre pertenecen a su ámbito (no sé si es a eso a lo que te referís).
De todas maneras, quizá te convenga probarlo y con un ejemplo plantear tu duda, si es que seguís teniéndola luego de la prueba.
  #6 (permalink)  
Antiguo 01/11/2009, 18:18
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Varias funciones ajax o una sola para todo

Cita:
Iniciado por Panino5001 Ver Mensaje
Los argumentos de una función siempre pertenecen a su ámbito (no sé si es a eso a lo que te referís).
De todas maneras, quizá te convenga probarlo y con un ejemplo plantear tu duda, si es que seguís teniéndola luego de la prueba.
No se explicartelo bien, pero tranquilo, voy a hacer la prueba y si veo que aun tengo dudas te digo, ok?
Muchas gracias por tu ayuda
  #7 (permalink)  
Antiguo 02/11/2009, 15:42
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Varias funciones ajax o una sola para todo

Panino5001, funciona todo bien, excepto en firefox que por lo visto al meterle una funcion "inline" al onreadystatechange no se lo traga firefox
  #8 (permalink)  
Antiguo 02/11/2009, 16:28
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Varias funciones ajax o una sola para todo

Habría que ver cómo lo estás haciendo, porque en Firefox eso funciona perfectamente.
  #9 (permalink)  
Antiguo 03/11/2009, 09:14
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Varias funciones ajax o una sola para todo

Cita:
Iniciado por Panino5001 Ver Mensaje
Habría que ver cómo lo estás haciendo, porque en Firefox eso funciona perfectamente.
Bueno, realmente sí que funciona pq lo hace bien, pero el problema es que en el estado "Loading" del onreadystatechange en todos los navegadores se ve bien un gif animado que he puesto pero en firefox no se ve. No lo muestra nunca, aunque lo demas lo hace bien.
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 20:32.