metoda jquery getJson čte stejný požadavek přímo z cache po prvním požadavku na server za účelem získání vrácených dat a již nepožaduje databázi.
Tady je, jak to opravit:
1 Nastavte URL odlišnou pro každý hovor Metoda: Přidejte náhodné číslo do parametru. Příklad 1: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} Příklad 2: "xxx.aspx?randID="+Math.random Příklad 3: "xxx.aspx?randID="+ escape(new Date()) 2 Nastavit cache na False $.ajax uncacheovaná verze: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ upozornění(msg);
} }); 3. Zahrňte následující tvrzení na začátek labels.html souboru:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1"> 4. Funkce načítaní může nejen volat HTML, ale také skriptovat, například labels.php, můžete použít hlavičku v souboru PHP:
<?php
hlavičky ("Cache-Control: no-cache, must-revalidate");
?> 5 Používejte metodu post místo get. Při používání metody Post je třeba věnovat pozornost: Nastavte kontextový typ hlavičky na application/x-www-form-urlencode, aby server věděl, že v entitě jsou proměnné parametrů. Obvykle se používá SetRequestHeader("Context-Type","application/x-www- form-urlencoded) objektu XmlHttpRequest; ")。 Příklad:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); Parametr je pár klíč-hodnota odpovídající názvu/hodnotě a každá dvojice hodnot je oddělena > znaménkem. Například var name=abc&sex=muž&age=18, věnujte pozornost var name=update.php?
abc&sex=muž&věk=18 a var jméno=?abc&sex=muž&věk=18 jsou napsány nesprávně; Argument je odeslán metodou Send, např. xmlHttp.send(name); Pokud je to get metoda, přímo xmlHttp.send(null);
Parametr požadavku na straně serveru rozlišuje mezi Get a Post. Pokud je to metoda get, pak $username = $_GET["username"]; Pokud je to metoda příspěvků, pak $username = $_POST["uživatelské jméno"]; 6 Přidat hlavičku ("Cache-Control: no-cache, must-reva lidate") na straně serveru; 7 Přidat xmlHttpRequest.setRequestHeader("If-Modified-Since ","0") před odesláním požadavku od Ajaxu; 8 Přidat xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") před odesláním požadavku od ajaxu;
|