Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX - обновление результата запроса 
:(
    Опции темы
Annuta
Дата 22.11.2007, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.10.2006
Где: Dubna

Репутация: нет
Всего: 1



Не бейте ногами - это первое что я пытаюсь написать используя AJAX!  smile 
 У меня есть таблица отображающая число записей в таблице. 
 Так вот, я посылаю запрос скрипту: 
start.js
 
Код

  // proceed only if the xmlHttp object isn't busy
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {                                    
     Ccod = encodeURIComponent(document.getElementById("CCod").value);          
     str = "start.php?Ccod=" + Ccod;
     xmlHttp.open("GET", "start.php?Ccod=" + Ccod, true);  
     xmlHttp.onreadystatechange = handleServerResponse;
     xmlHttp.send(null);
  }

запрос в фале start.php выполняется... и я возвращаю число 
Код

    echo '<response>'; 
    echo "$n"; //Число записей  


данные эти опять возвращаются в файл start.js я вывожу их в виде ссобщения

Код

// executed automatically when a message is received from the server
function handleServerResponse() 
{
  // move forward only if the transaction has completed
  if (xmlHttp.readyState == 4) 
  {
    // status of 200 indicates the transaction completed successfully
    if (xmlHttp.status == 200) 
    {
      // extract the XML retrieved from the server
      xmlResponse = xmlHttp.responseXML;
      
    //  MyAnswer = xmlHttp.answText;   
      
      // obtain the document element (the root element) of the XML structure
      xmlDocumentElement = xmlResponse.documentElement;
      // get the text message, which is in the first child of
      // the the document element
      helloMessage = xmlDocumentElement.firstChild.data;
      // update the client display using the data received from the server
      document.getElementById("divMessage").innerHTML = '<input type=text name=num value=' + helloMessage +'>';
      S = helloMessage;            
      
      alert(S);
. . .

Проблема: если я удаляю запись в БД - и число записей меняется... а на сообщении вижу прежний результат!!! Т.е. данные от запроса не обнавляются.. что ли... ?!!! Или запрос больше не выполняется.. не пойму...! 
 помогите разобраться...  smile 

--------------------
Программист - это комбинация лени и логики !
PM MAIL   Вверх
ksnk
Дата 22.11.2007, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



измените 5-ю строчку в скрипте на 
Код

     str = "start.php?Ccod=" + Ccod+'&UID='+(10000*Math.random());

Если ситуация исправилась - проверяйте, что ajax запрос содержит заголовки, исключающие кеширование броузером.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Annuta
Дата 23.11.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.10.2006
Где: Dubna

Репутация: нет
Всего: 1



Запрет кэширования реально помог!!! Спасибо!  smile 
--------------------
Программист - это комбинация лени и логики !
PM MAIL   Вверх
UhaMurad
Дата 29.11.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 22.9.2004
Где: Махачкала

Репутация: нет
Всего: нет



Обманывать таким образом броузер не очень хорошо, потому как браузер все равно будет кешировать страницы... его кеш будет забиваться впустую....

Лучше в php-нике посылать следующие заголовки:

Код

Header('Expires: Thu, 19 Feb 1998 13:24:18 GMT');
Header('Last-Modified: '.gmdate("D, d M Y H:i:s").' GMT');
Header('Cache-Control: no-cache, must-revalidate');
Header('Cache-Control: post-check=0, pre-check=0');
Header('Cache-Control: max-age=0');
Header('Pragma: no-cache');  


это запретит браузеру кэшировать страницу
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.