2010-05-06 20 views

Respuesta

22

cache debería ser un valor lógico, no es una cadena:

$.ajax({type: "GET", 
    url: "/" + filename, 
    dataType: "xml", 
    cache: false, 
    success: function(xml){ 
    /* Parsing code here */ 
    } 
}); 
+2

+1 una cadena '" false "' se interpretará como 'true' si no se compara con' === '. –

+4

@Pekka - eso es cierto, pero en este caso específico, [jQuery SES compara con ===] (http://github.com/jquery/jquery/blob/master/src/ajax.js#L261), sin embargo, solo intenta evitar el caché si 's.cache === false' (pero por supuesto," falso "=== falso => ​​falso) – Matt

+0

@Matt ¡ah! Buena atrapada. –

0

Quizás sea el tipo mimet del archivo xml que está devolviendo? http://www.nerdydork.com/ie-json-caching-bug.html

Un comentarista en mi blog sugirió añadir una cadena de tiempo a la solicitud JSON:

no voy a confiar en el establecimiento de la caché de apagado en .ajaxSetup ....

Así que solo agregue una cadena de tiempo al final de cada solicitud json, p. Ej.

$ .getJSON (‘/ url /’, {Datos: 123, t:. (new Date()) getTime()}, función (datos) {// hacer lo});

+0

'No voy a confiar en el establecimiento de la memoria caché de apagado en .ajaxSetup ...' - ¿Por qué ??? ¡Hace _exactamente_ lo mismo! – WoIIe

+0

¡El truco del tiempo lo hizo, gracias! – Robert

Cuestiones relacionadas