jquery getJson metodas nuskaito tą pačią užklausą tiesiai iš talpyklos po pirmosios užklausos serveriui gauti grąžintus duomenis ir nebeprašo duomenų bazės.
Štai kaip tai išspręsti:
1 Kiekvieno skambučio URL nustatymas Metodas: prie parametro pridėkite atsitiktinį skaičių. 1 pavyzdys: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} 2 pavyzdys: "xxx.aspx?randID="+Math.random 3 pavyzdys: "xxx.aspx?randID="+ pabėgimas(nauja data()) 2 Nustatykite talpyklą į klaidingą $.ajax uncached versija: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ įspėjimas (msg);
} }); 3. Į labels.html failo viršų įtraukite šį teiginį:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Galiojimo laikas" CONTENT="-1"> 4. Įkėlimo funkcija gali ne tik iškviesti HTML, bet ir scenarijų, pvz., labels.php, galite naudoti antraštės funkciją php faile:
<?php
header("Cache-Control: no-cache, must-validate");
?> 5 Naudokite paštu, o ne gauti metodą. Naudodami "Post" metodą, turite atkreipti dėmesį į: Nustatykite antraštės konteksto tipą į application/x-www-form-urlencode, kad serveris žinotų, jog objekte yra parametrų kintamųjų. Paprastai naudokite XmlHttpRequest objekto SetRequestHeader("Context-Type","application/x-www- form-urlencoded); ")。 Pavyzdys:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); Parametras yra rakto ir reikšmės pora, atitinkanti pavadinimą / reikšmę, o kiekviena reikšmių pora yra atskirta > ženklu. Pavyzdžiui, var name=abc&sex=man&age=18, atkreipkite dėmesį į var name=update.php?
abc&sex=man&age=18 ir var name=?abc&sex=man&age=18 parašyti neteisingai; Argumentas siunčiamas naudojant siuntimo metodą, pvz., xmlHttp.send(name); Jei tai yra gavimo metodas, tiesiogiai xmlHttp.send(null);
Serverio užklausos parametras išskiria "Get" ir "Post". Jei tai yra gavimo metodas, tada $username = $_GET["vartotojo vardas"]; Jei tai yra įrašo metodas, tada $username = $_POST["vartotojo vardas"]; 6 Pridėti antraštę ("Cache-Control: no-cache, must-reva lidate") serverio pusėje; 7 Pridėti xmlHttpRequest.setRequestHeader("If-Modified-Since","0") prieš ajax siunčia užklausą; 8 Pridėkite xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") prieš ajax siunčiant užklausą;
|