jquery getJson meetod loeb sama päringu otse vahemälust pärast esimest päringut serverile, et saada tagastatud andmed, ega taotle enam andmebaasi.
Siin on, kuidas seda parandada:
1 Tee URL iga kõne jaoks erinevaks Meetod: Lisa parameetrile juhuslik arv. Näide 1: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} Näide 2: "xxx.aspx?randID="+Math.random Näide 3: "xxx.aspx?randID="+ escape(new Date()) 2 Sea vahemälu vale väärtuseks $.ajax vahemäluta versioon: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ alert (MSG);
} }); 3. Lisa labels.html faili ülaossa järgmine väide:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Aegub" SISU="-1"> 4. Laadimisfunktsioon suudab kutsuda mitte ainult HTML-i, vaid ka skripti, näiteks labels.php saab kasutada päise funktsiooni php-failis:
<?php
header("Cache-Control: no-cache, must-revalidated");
?> 5 Kasuta posti meetodi asemel. Postitamise meetodi kasutamisel pead pöörama tähelepanu: Määra päise kontekstitüüp application/x-www-form-urlencode, et server teaks, et üksuses on parameetrimuutujad. Tavaliselt kasutatakse XmlHttpRequest objekti SetRequestHeader'i ("Context-Type","application/x-www- form-urlencoded); ")。 Näide:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); Parameeter on võtme-väärtuse paar, mis vastab nimele/väärtusele, ning iga väärtuspaar on eraldatud > märgiga. Näiteks var name=abc&sex=man&age=18, pöörake tähelepanu var-ile name=update.php?
abc&sex=man&age=18 ja var name=?abc&sex=man&age=18 on valesti kirjutatud; Argument saadetakse Send meetodis, nt xmlHttp.send(name); Kui see on get meetod, siis otse xmlHttp.send(null);
Serveripoolne päringuparameeter eristab Get ja Post. Kui see on get meetod, siis $username = $_GET["username"]; Kui tegemist on postitamise meetodiga, siis $username = $_POST["kasutajanimi"]; 6 Lisa serveri poolele päis ("Cache-Control: no-cache, must-reva lidate"); 7 Lisa xmlHttpRequest.setRequestHeader("If-Modified-Since","0") enne, kui ajax päringu saadab; 8 Lisa xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") enne, kui ajax päringu saadab;
|