A jquery getJson módszere ugyanazt a kérést közvetlenül a gyorsítótárból olvassa az első szerverhez küldött kérés után, hogy megkapja a visszaküldött adatokat, és már nem kéri az adatbázist.
Íme, hogyan lehet ezt megoldani:
1 Legyen külön URL minden híváshoz Módszer: Adj hozzá véletlenszámot a paraméterhez. 1. példa: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} 2. példa: "xxx.aspx?randID="+Math.random 3. példa: "xxx.aspx?randID="+ escape(new Date()) 2 Állítsd be a cache-t hamisnak $.ajax uncached verzió: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ alert(msg);
} }); 3. A labels.html fájl tetejére a következő nyilatkozatot kell mellékelni:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1"> 4. A betöltési függvény nemcsak a HTML-t hívhatja, hanem szkriptet is, például labels.php, a fejlécek függvényét használhatod a php fájlban:
<?php
header("Cache-Control: no-cache, must-revalidate");
?> 5 Használj posztot a get módszer helyett. A Post módszer használatakor figyelned kell a következőkre: Állítsuk be a fejléc Context-Type-jét application/x-www-form-urlencode módra, hogy a szerver tudja, hogy vannak paraméterváltozók az entitásban. Általában az XmlHttpRequest objektum SetRequestHeader("Context-Type","application/x-www- form-urlencoded) eszközét használják; ")。 Példa:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); A paraméter egy kulcs-érték pár, amely megfelel a névnek/értéknek, és minden értékpárt egy > jel választja el egymástól. Például var name=abc&sex=man&age=18, figyelj a var name=update.php-re?
abc&sex=man&age=18 és var name=?abc&sex=man&age=18 helytelenül van írva; Az érvet a Send metódban küldik, például xmlHttp.send(name); Ha get metódus, közvetlenül xmlHttp.send(null);
A szerveroldali kérésparaméter megkülönbözteti a Get és a Post (Get) (Get) és a Post (Küldés) (Getés) (Küldés) (Get) (Küldés) (Küldés) Ha ez a get metódus, akkor $username = $_GET["username"]; Ha posztolási módszerről van szó, akkor $username = $_POST["felhasználónév"]; 6 Fejlécet ("Cache-Control: no-cache, must-reva lidate") a szerver oldalon; 7 Adj hozzá xmlHttpRequest.setRequestHeader("If-Modified-Since","0") mielőtt ajax elküldi a kérést; 8 Hozzáadni xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") mielőtt ajax elküldi a kérést;
|