jquery getJson metode nolasa to pašu pieprasījumu tieši no kešatmiņas pēc pirmā pieprasījuma serverim, lai iegūtu atgrieztos datus, un vairs nepieprasa datu bāzi.
Tālāk ir aprakstīts, kā to novērst.
1 URL atšķirība katram zvanam Metode: pievienojiet parametram nejaušu skaitli. 1. piemērs: jQuery.getJSON("$!{ sakne}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} 2. piemērs: "xxx.aspx?randID="+Math.random 3. piemērs: "xxx.aspx?randID="+ escape(jauns datums()) 2 Iestatiet kešatmiņu uz False $.ajax uncached versija: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ brīdinājums (msg);
} }); 3. Iekļaujiet šādu paziņojumu labels.html faila augšpusē:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Beidzas" CONTENT="-1"> 4. Ielādes funkcija var ne tikai izsaukt HTML, bet arī skriptu, piemēram, labels.php, php failā varat izmantot galvenes funkciju:
<?php
header("Kešatmiņas kontrole: bez kešatmiņas, jāapstiprina atkārtoti");
?> 5 Izmantojiet ziņu, nevis iegūt metodi. Izmantojot Post metodi, jums jāpievērš uzmanība: Iestatiet galvenes konteksta tipu uz application/x-www-form-urlencode, lai nodrošinātu, ka serveris zina, ka entītijā ir parametru mainīgie. Parasti izmantojiet XmlHttpRequest objekta SetRequestHeader("Context-Type","application/x-www- form-urlencoded); ")。 Piemērs:
xmlHttp.setRequestHeader("Satura tips","application/x-www-form-urlencoded"); Parametrs ir atslēgas un vērtības pāris, kas atbilst nosaukumam/vērtībai, un katrs vērtību pāris ir atdalīts ar > zīmi. Piemēram, var name=abc&sex=man&age=18, pievērsiet uzmanību var name=update.php?
abc&sex=man&age=18 un var name=?abc&sex=man&age=18 ir uzrakstīti nepareizi; Arguments tiek nosūtīts, izmantojot sūtīšanas metodi, piemēram, xmlHttp.send(nosaukums); Ja tā ir iegūšanas metode, tieši xmlHttp.send(null);
Servera puses pieprasījuma parametrs atšķir Get un Post. Ja tā ir get metode, tad $username = $_GET["lietotājvārds"]; Ja tā ir ziņu metode, tad $username = $_POST["lietotājvārds"]; 6 Pievienojiet galveni ("Kešatmiņas kontrole: bez kešatmiņas, must-reva lidate") servera pusē; 7 Pievienojiet xmlHttpRequest.setRequestHeader("If-Modified-Since","0") pirms ajax nosūta pieprasījumu; 8 Pievienojiet xmlHttpRequest.setRequestHeader("Cache-Control","no-cache") pirms ajax nosūta pieprasījumu;
|