Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Аякс не обновляет div
 
 автор: winflip   (05.01.2008 в 12:56)   письмо автору
 
 

Вот файл index.php:

<html><head><meta http-equiv='cache-control' content="no-cache"><script language=javascript>
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
function callServer() {
  var url = "read.php";
  xmlHttp.open("GET", url, true);
  xmlHttp.onreadystatechange = updatePage;
  xmlHttp.send(null);
}
function updatePage() {
  if (xmlHttp.readyState == 4) {
    var response = xmlHttp.responseText;
    document.getElementById("body").innerHTML = response;
  }
}
  var tr = setInterval("callServer()", 5000);
</script></head><body onload="callServer()"><div id="body"></div></body>

Файл read.php читает текст из файла и выдаёт его функцией echo. Почему не обновляется блок div????

   
 
 автор: sim5   (05.01.2008 в 15:18)   письмо автору
 
   для: winflip   (05.01.2008 в 12:56)
 

var tr = setInterval("callServer()", 5000); - удалить. После xmlHttp.send(null); прописать: setTimeout("callServer()", 5000);

   
 
 автор: winflip   (05.01.2008 в 15:57)   письмо автору
 
   для: sim5   (05.01.2008 в 15:18)
 

все равно если что нибудь дописать в файл то див не показывает новое сообщение

   
 
 автор: sim5   (05.01.2008 в 16:01)   письмо автору
 
   для: winflip   (05.01.2008 в 15:57)
 

В какой файл?

   
 
 автор: winflip   (05.01.2008 в 17:26)   письмо автору
 
   для: sim5   (05.01.2008 в 16:01)
 

который прочитывается ридом.пхп

   
 
 автор: winflip   (05.01.2008 в 19:44)   письмо автору
 
   для: winflip   (05.01.2008 в 17:26)
 

Вот этот код обращяется к файлу read.php. read.php читает файл mama.txt и выводит её. index.php должен обновляться каждые пять секунд.

   
 
 автор: winflip   (05.01.2008 в 23:22)   письмо автору
 
   для: winflip   (05.01.2008 в 19:44)
 

Что никто не знает?Еще одна вещь. Если в рид.php просто вывести что нибудь, потом изменить, то див меняется, а при чтении файла не работает, хотя просто файл рид.php работает

   
 
 автор: sim5   (06.01.2008 в 00:29)   письмо автору
 
   для: winflip   (05.01.2008 в 23:22)
 

Проверил специально: таймер установил на 1 сек, а в запрашиваемом файле - echo date("H:i:s"); Часы тикают. Так что запросы приходят, а вот что у вас с mama.txt, это разбирайтесь в read.php.

   
 
 автор: winflip   (06.01.2008 в 14:43)   письмо автору
 
   для: sim5   (06.01.2008 в 00:29)
 

Всё таки ошибка в аяксе. Почему то через jquery работает

   
 
 автор: sim5   (06.01.2008 в 15:47)   письмо автору
 
   для: winflip   (06.01.2008 в 14:43)
 

Ну я проверял, сделав определение объекта только под IE, запустил таймер (interval почему-то грузит сильно) - часики тикали. Ну возьмите другой пример, например, здесь, проверьте, может уясните причину, а затем добавите нужное вам. Кстати и на форуме вроде бы не раз задачи подобные вашей уже были.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования