jqueryjeva metoda getJson prebere isto zahtevo neposredno iz predpomnilnika po prvi zahtevi strežniku za pridobitev vrnjenih podatkov in ne zahteva več baze podatkov.
Tukaj je, kako to popraviti:
1 Naredite URL drugačen za vsak klic Metoda: Dodajte naključno število v parameter. Primer 1: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} Primer 2: "xxx.aspx?randID="+Math.random Primer 3: "xxx.aspx?randID="+ escape(new Date()) 2 Nastavi predpomnilnik na False $.ajax nepredpomnjena različica: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ opozorilo(msg);
} }); 3. Na vrh labels.html datoteke vključite naslednjo izjavo:
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Poteče" VSEBINA="-1"> 4. Funkcija nalaganja ne more klicati le HTML, ampak tudi skriptirati, kot je labels.php, lahko uporabite funkcijo glave v php datoteki:
<?php
glavo ("Cache-Control: no-cache, must-revalidate");
?> 5 Uporabi metodo post namesto get. Pri uporabi metode Post morate biti pozorni na: Nastavite Context-Type glave na application/x-www-form-urlencode, da strežnik ve, da so v entiteti spremenljivke parametrov. Običajno uporabite SetRequestHeader("Context-Type","application/x-www- form-urlencoded) objekta XmlHttpRequest; ")。 Primer:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); Parameter je par ključ-vrednost, ki ustreza imenu/vrednosti, vsak par vrednosti pa je ločen z > znakom. Na primer, var name=abc&sex=man&age=18, bodite pozorni na var name=update.php?
abc&sex=man&age=18 in var name=?abc&sex=man&age=18 sta napačno zapisani; Argument se pošlje v metodi Seend, npr. xmlHttp.send(ime); Če gre za get metodo, neposredno xmlHttp.send(null);
Parameter zahteve na strežniški strani razlikuje med Get in Post. Če je to metoda get, potem je $username = $_GET["uporabniško ime"]; Če gre za metodo objave, potem $username = $_POST["uporabniško ime"]; 6 Dodajte glavo ("Cache-Control: no-cache, must-reva lidate") na strežniški strani; 7 Dodaj xmlHttpRequest.setRequestHeader("If-Modified-Since","0") preden ajax pošlje zahtevo; 8 Dodajte xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") preden ajax pošlje zahtevo;
|