Como impedir que uma solicitação do jQuery Ajax seja armazenada em cache no Internet Explorer?
jquery
internet-explorer
SABU
fonte
fonte
Respostas:
Você pode desativar o cache globalmente usando
$.ajaxSetup()
, por exemplo:Isso anexa um carimbo de data / hora à string de consulta ao fazer a solicitação. Para desativar o cache para uma
$.ajax()
chamada específica , definacache: false
-o localmente, assim:fonte
cache: false
só funcionará corretamente com solicitações HEAD e GET. Além disso, se você definircache: false
em$.ajaxSetup
, de acordo com jQuery.ajaxSetup documentação () , ele irá "valores padrão definidos para futuras solicitações Ajax." Portanto, sim, ele desativará o cache para todas as solicitações futuras HEAD e GET AJAX.cache: false
. Desativar o cache globalmente parece um exagero, mas ter controle por solicitação é perfeito. ObrigadoSe você definir parâmetros exclusivos, o cache não funcionará, por exemplo:
fonte
cache
parâmetro já faz nos bastidores.Esses dois valores de cabeçalho podem ser combinados para obter o efeito necessário no IE e no Firefox
fonte
Aqui está uma proposta de resposta:
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
A idéia é adicionar um parâmetro à sua consulta ajax que contenha, por exemplo, a data e a hora atuais, para que o navegador não possa armazená-lo em cache.
Dê uma olhada no link, está bem explicado.
fonte
cache
parâmetro já faz nos bastidores.você pode defini-lo assim:
ou assim :
espero que ajude
fonte
Este é um post antigo, mas se o IE estiver causando problemas. Altere suas solicitações GET para POST e o IE não armazenará mais em cache.
Passei muito tempo descobrindo isso da maneira mais difícil. Espero que ajude.
fonte
cache:false
caso a caso são o caminho a percorrer.