Метод getJson jquery читает тот же запрос непосредственно из кэша после первого запроса серверу для получения возвращённых данных и больше не запрашивает базу данных.
Вот как это исправить:
1 Сделайте URL уникальным для каждого звонка Метод: Добавить случайное число в параметр. Пример 1: jQuery.getJSON("$!{ Root}/a/a/s.ashx",{"ID":id,"Name":name,"Path":p ath,random:Math.random()},function(responseText){} Пример 2: "xxx.aspx?randID="+Math.random Пример 3: "xxx.aspx?randID="+ escape(новая дата()) 2 Установить кэш в False $.ajax некэшированная версия: $.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){ Alert(msg);
} }); 3. Включите следующее утверждение в верхнюю часть файла labels.html:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Истекает" КОНТЕНТ="-1"> 4. Функция загрузки может вызывать не только HTML, но и скрипт, например labels.php, вы можете использовать функцию заголовка в php-файле:
<?php
header("Cache-Control: no-cache, must-revalidate");
?> 5 Используйте метод post, а не get. При использовании метода Post необходимо обратить внимание на: Задайте Context-Type заголовка в application/x-www-form-urlencode, чтобы сервер знал о наличии параметрических переменных в сущности. Обычно используют SetRequestHeader ("Context-Type","application/x-www- form-urlencoded) объекта XmlHttpRequest; ")。 Пример:
xmlHttp.setRequestHeader ("Content-Type","application/x-www-form-urlencoded"); Параметр представляет собой пару ключ-значение, соответствующую имени/значению, и каждая пара значений разделена знаком >. Например, var name=abc&sex=man&age=18, обратите внимание на var name=update.php?
abc&sex=man&age=18 и var name=?abc&sex=man&age=18 написаны неправильно; Аргумент отправляется в методе Send, например, xmlHttp.send(name); Если это метод get, напрямую xmlHttp.send(null);
Параметр серверного запроса различает Get и Post. Если это метод get, то $username = $_GET["username"]; Если это метод публикации, то $username = $_POST["имя пользователя"]; 6 Добавить заголовок («Cache-Control: no-cache, must-reva lidate») на стороне сервера; 7 Добавить xmlHttpRequest.setRequestHeader ("If-Modified-Since","0") перед отправкой запроса ajax; 8 Добавить xmlHttpRequest.setRequestHeader("Cache-Control", "no-cache") перед отправкой запроса ajax;
|