Il metodo getJson di jquery legge la stessa richiesta direttamente dalla cache dopo la prima richiesta al server per ottenere i dati restituiti, e non richiede più il database.
Ecco come risolverlo:
1 Rendere l'URL diverso per ogni chiamata Metodo: Aggiungi un numero casuale al parametro. Esempio 1: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} Esempio 2: "xxx.aspx?randID="+Math.random Esempio 3: "xxx.aspx?randID="+ escape(nuova Data()) 2 Imposta la cache su False Versione non cachedata di $.ajax: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ allerta (msg);
} }); 3. Includere la seguente affermazione in cima al file labels.html:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Scadenza" CONTENT="-1"> 4. La funzione di caricamento non può solo chiamare HTML, ma anche script, come labels.php, puoi usare la funzione header nel file php:
<?php
header("Cache-Control: no-cache, must-revalidate");
?> 5 Usa il metodo post invece che get. Quando si utilizza il metodo Post, bisogna prestare attenzione a: Imposta il Context-Type dell'intestazione su application/x-www-form-urlencode per assicurarsi che il server sappia che ci sono variabili parametri nell'entità. Di solito si usa l'intestazione SetRequest("Context-Type","application/x-www- form-urlencoded) dell'oggetto XmlHttpRequest; ")。 Esempio:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); Il parametro è una coppia chiave-valore corrispondente al nome/valore, e ogni coppia di valori è separata da un segno >. Ad esempio, var name=abc&sex=man&age=18, fai attenzione alla var name=update.php?
abc&sex=uomo&age=18 e var name=?abc&sex=uomo&età=18 sono scritti in modo errato; L'argomento viene inviato nel metodo Send, ad esempio xmlHttp.send(name); Se si tratta di un metodo get, direttamente xmlHttp.send(null);
Il parametro di richiesta lato server distingue tra Get e Post. Se è il metodo get, allora $username = $_GET["username"]; Se si tratta di un metodo post, allora $username = $_POST["username"]; 6 Aggiungi l'intestazione ("Cache-Control: no-cache, must-reva lidate") lato server; 7 Aggiungere xmlHttpRequest.setRequestHeader("If-Modified-Since","0") prima che ajax invii la richiesta; 8 Aggiungi xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") prima che ajax invii la richiesta;
|