Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] cachear peticiones ajax

Estas en el tema de cachear peticiones ajax en el foro de Jquery en Foros del Web. Hola gente, bueno quiero saber como puedo hacer para cachear una peticion ajax para hacer lo siguiente: Tengo un listado de productos y con el ...
  #1 (permalink)  
Antiguo 20/04/2014, 20:08
 
Fecha de Ingreso: septiembre-2012
Mensajes: 25
Antigüedad: 12 años, 1 mes
Puntos: 0
cachear peticiones ajax

Hola gente, bueno quiero saber como puedo hacer para cachear una peticion ajax para hacer lo siguiente:

Tengo un listado de productos y con el evento hover muestro los detalles del producto en un bloque flotante dinamicamente, mi pregunta es si ya se envio una peticion con el ID 5 no se vuelva a enviar otra vez.

Use la opcion cache pero no hubo ningun cambio.

La funcion que uso es la siguiente


Código Javascript:
Ver original
  1. $.ajax({
  2.                    type: 'POST',
  3.                    url: '/ajax/eventHover',
  4.                    data: 'eventID=' + ID,
  5.                    cache:true,
  6.                    dataType: 'json',
  7.                    success:function(data){
  8.                    
  9.                     $('.details .event-title').html(data.titulo);
  10.                     $('.details .event-detail').html(data.descripcion);
  11.                    
  12.  
  13.                 }
  14.             });
  #2 (permalink)  
Antiguo 22/04/2014, 12:07
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: cachear peticiones ajax

toda petición POST no genera caché, las únicas que generan caché son las GET y la opción caché de jQuery solo afecta a las GET añadiendo un parámetro fantasma para evitar el caching.

en conclusión: usa GET y cache en TRUE.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/04/2014, 12:37
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 10 meses
Puntos: 145
Respuesta: cachear peticiones ajax

Debes tener en cuenta que el cache se generará en el browser del usuario, es decir, si otro usuario desde otro computador quiere hacer una peticion con ID 5, de todos modos se hará la consulta al servidor. Si quieres aumentar el rendimiento, puedes sacar partido tanto el cache del browser mediante AJAX GET cache (tal como te dice maycolalvarez) y por otro lado puedes generar cache desde el servidor, este si sería un cache universal, te evitarías la consulta a la base de datos.

Saludos.
__________________
http://chicho.ninja yiaaaa
  #4 (permalink)  
Antiguo 24/04/2014, 20:58
 
Fecha de Ingreso: septiembre-2012
Mensajes: 25
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: cachear peticiones ajax

Gracias por sus respuestas, me parece que voy a usar una cache desde el servidor para evitar varias consultas mysql repetitivas.
  #5 (permalink)  
Antiguo 28/04/2014, 08:36
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: cachear peticiones ajax

Yo estaba siguiendo este Post, pero me gustaria saber como Cachear las peticiones desde el Servidor...
  #6 (permalink)  
Antiguo 28/04/2014, 08:43
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 10 meses
Puntos: 145
Respuesta: cachear peticiones ajax

Cita:
Iniciado por JuJoGuAl Ver Mensaje
Yo estaba siguiendo este Post, pero me gustaria saber como Cachear las peticiones desde el Servidor...
Creo que eso te lo respondimos en un tema que levantaste, debes echarle un ojo al metodo Ajax de jquery, sus respectivos callback. Por medio de ajax puedes saber por ejemplo si una petición corresponde a un 404.

Saludos.
__________________
http://chicho.ninja yiaaaa
  #7 (permalink)  
Antiguo 28/04/2014, 08:49
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: cachear peticiones ajax

Cita:
Iniciado por chichote Ver Mensaje
Creo que eso te lo respondimos en un tema que levantaste, debes echarle un ojo al metodo Ajax de jquery, sus respectivos callback. Por medio de ajax puedes saber por ejemplo si una petición corresponde a un 404.

Saludos.
Esto es algo diferente puesto que estamos hablando de hacer un CACHE en el lado Servidor y eso no creo que sea por ajax o si? del otro tema que les comente aun sigo teniendo problemas...
  #8 (permalink)  
Antiguo 28/04/2014, 09:07
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 10 meses
Puntos: 145
Respuesta: cachear peticiones ajax

Cita:
Iniciado por JuJoGuAl Ver Mensaje
Esto es algo diferente puesto que estamos hablando de hacer un CACHE en el lado Servidor y eso no creo que sea por ajax o si? del otro tema que les comente aun sigo teniendo problemas...
Toda la razón, leí mal jeje.

Los caché son independientes entre cliente servidor, la forma más común es cachear las consultas, puedes averigua sobre memcache, también puedes cachear paginas enteras, por ejemplo estás mostrando un producto con ID 5, pues genera un html de ese producto, y cuando alguien lo solicita en lugar de ir a la base de datos muestras el html.

Saludos.
__________________
http://chicho.ninja yiaaaa
  #9 (permalink)  
Antiguo 28/04/2014, 10:02
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: cachear peticiones ajax

Si en efecto, es una idea que nunca me paso por la cabeza... y lo tomare en cuenta para futuras consultas pero no es el caso de mi POST anterior... nose como "Auditar" el codigo para encontrar el error...

Etiquetas: ajax, peticiones
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 01:06.