Pregunta

Estoy tratando de almacenar en caché una respuesta de JavaScript muy simple. Estoy usando rieles y mis puntos de vista/proyectos/index.js.erb contiene solo lo siguiente:

          alert('hi');

Y cuando solicito

  $.ajax({
    type: 'GET',
    cache: true,
    url : '/projects',
    dataType: 'script'
  });

Obtengo la ventana emergente 'Hola' y veo en mi registro de servidor que una solicitud de proyectos#Index Action como JS se ha hecho.

Luego sin refrescar el navegador y lo hago de nuevo

  $.ajax({
    type: 'GET',
    cache: true,
    url : '/projects',
    dataType: 'script'
  });

Veo que el servidor todavía recibe una solicitud ¿Alguien puede detectar algo que podría haberme perdido?

¡Gracias!

¿Fue útil?

Solución

Descubrí lo que pasa. JQuery en realidad rodea el script entrante con un para que el navegador evalúe el código entrante. Pero el almacenamiento en caché Mechansim simplemente guarda el código como texto y cuando se rehace, devuelve el código como texto pero no lo evalúa. Por lo tanto, uno debe evaluar el código explícitamente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top