Depois de jogar por um longo tempo, usei o método de carga jQuery para solicitar a solicitação no programa. Há um Baidu, que sabe que a carga é solicitada em uma obtenção, então o navegador é
Ele armazenou em cache. Eu procurei muitas soluções e muito na internet. É dividido principalmente em soluções de clientes e soluções de servidor.
1. Solução do cliente
IE Estratégia de Acesso: Internet-Opção-Navegação de Registros Históricos Definindo-A opção de arquivos temporários da Internet
1: Adicione uma função aleatória após a página solicitada pelo Ajax, podemos usar a função de tempo aleatório
Adicione T = Math.Random () após o URL enviado por JavaScript
Por exemplo: url+"&"+"t ="+math.random ();
2: Adicione xmlhttprequest.setRequestHeader ("if-modify-snce", "0")
Em circunstâncias normais, o XmlHttPrequest aqui não será usado diretamente
Você deve ser capaz de encontrar este código
Xxxxx.send (yyyyyy);
Em seguida, transforme -o em
Xxxxx.setRequestHeader ("if-modify-snce", "0");
Xxxxx.send (yyyyyy);
A prática provou que ambos os métodos são muito eficazes.
1. Adicione o cabeçalho ("Controle de cache: sem cache, obrigatório-revalidado") no servidor
2. Adicione xmlHttPrequest.SetRequestHeader ("Se-modificado-s-s-unce", "0");
3. Adicione xmlHttPrequest.SetRequestHeader ("Cache-Control", "No-Cache");
4. Adicione "? Fresh =" + Math.Random () Após o parâmetro URL do AJAX;
5. O quarto método é semelhante ao terceiro.
6. Use Post Substitua Get: Não recomendado
2. Solução do servidor:
Tome struts2 como exemplo:
Método do servidor STRUTS2
Código XML
Copie o código do código da seguinte forma:
<pacote name = "json-nocache" estends = "json-default">
<Wterceptores>
<Interceptor name = "CachingHeaderSinterceptor" />
<Interceptor-Stack Name = "DefaultSecurityStack">
<interceptor-ref name = "defaultStack" />
<interceptor-ref name = "CachingHeadersIntercept" />
</Internetor-Stack>
</sociceptors>
<default-interceptor-ref name = "defaultSecurityStack" /> />
</package>
Código Java
Copie o código do código da seguinte forma:
Classe pública CachingHeaderInterceptor estende abstractIntercepor {
Private estático final serialversionUid = 1L;
Interceptação pública de string
ActionContext context = Invocation.getInvocontext ();
HttpServletResponse Response = (httpServletResponse) context.get (strutsStatics.http_Response);
if (resposta! = null) {
Response.setheader ("Cache-Control", "No-Cache");
Response.setheader ("Pragma", "sem cache");
Response.setheader ("Expira", "-1");
}
Retornar invocação.invoke ();
}
}