jquerys getJson-metode læser den samme anmodning direkte fra cachen efter den første anmodning til serveren for at få de returnerede data og anmoder ikke længere databasen.
Sådan løser du det:
1 Lav URL'en forskellig for hvert kald Metode: Tilføj et tilfældigt tal til parameteren. Eksempel 1: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} Eksempel 2: "xxx.aspx?randID="+Math.random Eksempel 3: "xxx.aspx?randID="+ escape(ny dato()) 2 Sæt cache til falsk $.ajax ucachet version: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ alert(msg);
} }); 3. Inkluder følgende udsagn øverst i labels.html-filen:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Udløber" INDHOLD="-1"> 4. Load-funktionen kan ikke kun kalde HTML, men også scripts, såsom labels.php, du kan bruge header-funktionen i php-filen:
<?php
header ("Cache-Control: no-cache, must-revalidate");
?> 5 Brug post-metoden i stedet for 'get'. Når du bruger Post-metoden, skal du være opmærksom på: Sæt headerens Context-Type til application/x-www-form-urlencode for at sikre, at serveren ved, at der er parametervariabler i entiteten. Brug normalt SetRequestHeader("Context-Type","application/x-www- form-urlencoded) af XmlHttpRequest-objektet; ")。 Eksempel:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); Parameteren er et nøgle-værdi-par, der svarer til navnet/værdien, og hvert par værdier adskilles af et >-tegn. For eksempel, var name=abc&sex=man&age=18, læg mærke til var name=update.php?
abc&sex=man&age=18 og var name=?abc&sex=man&age=18 er skrevet forkert; Argumentet sendes i Send-metoden, f.eks. xmlHttp.send(name); Hvis det er en get-metode, så xmlHttp.send(null) direkte;
Server-side anmodningsparameteren skelner mellem Get og Post. Hvis det er get-metoden, så $username = $_GET["brugernavn"]; Hvis det er en postmetode, så $username = $_POST["brugernavn"]; 6 Tilføj header ("Cache-Control: no-cache, must-reva lidate") på serversiden; 7 Tilføj xmlHttpRequest.setRequestHeader("If-Modified-Since","0") før ajax sender anmodningen; 8 Tilføj xmlHttpRequest.setRequestHeader ("Cache-Control","no-cache") før ajax sender anmodningen;
|