elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Como llamar automaticamente funciones AJAX ??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como llamar automaticamente funciones AJAX ??  (Leído 7,800 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Como llamar automaticamente funciones AJAX ??
« en: 27 Agosto 2008, 20:15 pm »

Hola:

Estoy realizando un sistema para vender cosas, asi que en el apartado de VENTAS tengo un formulario un poco amplio en donde se doy escojer el tipo de venta, datos del cliente y finalmente una capa GRANDE (contenedor) en donde voy poniendo los articulos/productos que va comprando el cliente. Utilizando AJAX compruebo la existencia del Cliente que desea comprar o bien en el caso que no exista pongo un formulario para que puedan registrarlo a la vez que esta comprando.

Mi idea es que en la capa GRANDE (contenedor de los productos) poderla refrescar sin necesidad de dar click, vaya, que se ejecute una funcion de AJAX cada ciertos segundos...

Como podria ejecutar una funcion de AJAX cada cierto tiempo ???...

NOTA: toda mi aplicacion esta echa con PHP y solo utilizo AJAX para listar, buscar y generar datos rapidos sin refrescar. Para esto utilizo una sola funcion de AJAX, la cual llamo cargar_datos();, mediante eventos onclick, onchnage o onsubmit

bye bye


En línea

Ertai
Colaborador
***
Desconectado Desconectado

Mensajes: 2.025


Ralph Wiggum


Ver Perfil
Re: Como llamar automaticamente funciones AJAX ??
« Respuesta #1 en: 27 Agosto 2008, 21:17 pm »

Con la función setTimeOut en javascript:

http://www.webtaller.com/construccion/lenguajes/javascript/lecciones/funciones_setinterval_settimeout_javscript.php

Saludos.


En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Como llamar automaticamente funciones AJAX ??
« Respuesta #2 en: 27 Agosto 2008, 23:06 pm »


Ya he podido hacer que se reptra cada cierto tiempo que yo deseo, el problema es que no logro pasar unos valores con setInterval() :(... Mira, te explico:

La funcion que utilizo para cargar datos es:

Código
  1. function cargar_datos( vars, capaview, flujoddatos, varsform )
  2. {
  3. var conector, capa, url;
  4.  
  5. url= 'ajax.php'; //mis funciones para ajax
  6. capa= document.getElementById(capaview);
  7.  
  8. conector= ajax();
  9. conector.open( flujoddatos, url+'?'+vars, true );
  10. conector.onreadystatechange= function()
  11. {
  12. if( conector.readyState==1 )
  13. {
  14. capa.innerHTML= "<center><img src='../admin/imagenes/loading.gif'><br><b>CARGANDO...</b></center>";
  15. }
  16. else if( conector.readyState==4 )
  17. {
  18. if( conector.status==200 )
  19. {
  20. if( varsform!=0 )
  21. conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
  22. capa.innerHTML= conector.responseText;
  23. }
  24. else if( conector.status==404 )
  25. {
  26. capa.innerHTML= "La pagina que intentas cargar no existe...";
  27. }
  28. else
  29. {
  30. capa.innerHTML= conector.status;
  31. }
  32. }
  33. }
  34. //conector.setRequestHeader( "Content-Type", "multipart/form-data" );
  35. if( varsform!=0 )
  36. {
  37. var myarr= varsform.split(':'); //dividimos
  38. var trama="";
  39. var i=0;
  40.  
  41. for( i=0; i<(myarr.length); i++ )
  42. {
  43. if( i>0 )
  44. trama += "&";
  45. trama += myarr[i]+"="+document.getElementById(myarr[i]).value;
  46. }
  47.  
  48. conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
  49. conector.send(trama);
  50. }
  51. else
  52. conector.send(null);
  53. }

Asi que, para no modificar mas mi funcion, solo cree una funcion alterna que invoca a la funcion que acabo de mencionarte, y es:

Código
  1. function carga_datos_recursiva( vars, capaview, flujoddatos, varsform )
  2. {
  3. //alert(vars)
  4. setInterval( "cargar_datos( vars, capaview, flujoddatos, varsform )", 2000 );
  5. }

Y me sale el siguiente error, segun el Debuger de Firefox:

Código:
vars is not defined
http://localhost/~miuser/admin/js/script.js

Ya he invocado un alert() en la nueva funcion carga_datos_recursiva, y me imprime satisfactoriamente el contenido que debe tener vars, pero porque marca error ???... Aparte del error, pues no se muestra lo que quiero :S, me imagino que por lo mismo !!...

« Última modificación: 27 Agosto 2008, 23:24 pm por Diabliyo » En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: Como llamar automaticamente funciones AJAX ??
« Respuesta #3 en: 28 Agosto 2008, 15:53 pm »

Cuando el cliente compra un nuevo producto se producen un montón de eventos (y supongo que en javascript se pueden lanzar también, aunque eso da igual), deberías refrescar la lista no cada cierto tiempo sino cuando se produce alguno de esos eventos, es decir, cuando hay algo que refrescar.
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como llamar funciones de otras dll que no sean de windows?
Programación C/C++
SuperNovato 4 5,064 Último mensaje 5 Marzo 2011, 01:29 am
por my_sistemas
Llamar dos funciones AJAX en onChange
Desarrollo Web
KateLibby 7 13,059 Último mensaje 26 Octubre 2011, 11:29 am
por KateLibby
[Resuelto] Como llamar a una función php desde ajax
PHP
yoelrodguez 2 4,202 Último mensaje 12 Mayo 2015, 01:06 am
por yoelrodguez
¿Como llamar una funcion de php con ajax? « 1 2 »
PHP
SrTrp 10 7,667 Último mensaje 2 Septiembre 2017, 17:57 pm
por SrTrp
Django no renderiza una template al llamar a su view desde ajax
Desarrollo Web
mamarrach0 0 3,336 Último mensaje 20 Agosto 2022, 11:30 am
por mamarrach0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines