2011-03-16 29 views
6

que hacer algunas llamadas Ajax para obtener archivos a través de jQuery, así:jQuery Ajax almacenamiento en caché

$.ajax({ 
     url: "/resx.mvc", 
     data: { 
      virtualPath: options.virtualPath, 
      keys: options.keys, 
      global: options.global 
     }, 
     cache: true, 
     success: function (values) { 
      $.extend(assignTo, values); 
     }, 
     dataType: "JSON", 
     traditional: true 
    }); 

Cuando miro a la solicitud de Fiddler, veo que estas dos cabeceras están siendo enviados, y haciendo mi ASP .NET enviar de vuelta un caduca encabezado en su respuesta con -1:

Pragma: no-cache 
Cache-Control: no-cache 

¿Cómo le digo que no se emita jQuery no-cache?

Respuesta

6

beforeSend toma un objeto ajax (XmlHttpRequest objeto) que se puede utilizar para manipular el encabezado de la solicitud. A continuación se muestra un ejemplo de establecer un encabezado en su solicitud utilizando el objeto ajax devuelto en la devolución de llamada:

$.ajax({ 
      type:"POST", 
      beforeSend: function (request) 
      { 
       request.setRequestHeader("Authority", authorizationToken); 
      }, 
      url: "entities", 
      data: "json=" + escape(JSON.stringify(createRequestObject)), 
      processData: false, 
      success: function(msg) { 
       $("#results").append("The result =" + StringifyPretty(msg)); 
      } 
     }); 
Cuestiones relacionadas