Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Обновление div без обновления всей страницы!
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Обновление div без обновления всей страницы!

Страниц (1): [1]
 

1. Virgin - 26 Марта, 2009 - 15:46:40 - перейти к сообщению
Может кто сталкивался?

З.Ы: Честно говоря, не имел дела с AJAX...
2. Champion - 26 Марта, 2009 - 16:29:47 - перейти к сообщению
http://javascript[dot]ru/ajax/tutorial
Тут не сложно, всё поймешь. Если не поймешь, то уже более конкретные вопросы появятся
3. Virgin - 06 Мая, 2009 - 14:38:26 - перейти к сообщению
А подскажите пожалуйста:
Вот есть участок кода, который обращается к xml файлу и распарсивает его
PHP:
скопировать код в буфер обмена
  1.  
  2. var request = GXmlHttp.create();
  3.       request.open("GET", "example.php?test=1", true);
  4.       request.onreadystatechange = function() {
  5.         if (request.readyState == 4) {
  6.           var xmlDoc = GXml.parse(request.responseText);
  7.  
  8.          }
  9.       }
  10.       request.send(null);
  11.  
  12.  


Как сделать чтобы этот код на странице выполнялся с определенной периодичностью, т.е. без обновления всей страницы, происходило бы обращение к xml и, таким образом , содержимое его бы менялось? Возможно ли реализовать с помощью settimeout?
4. Champion - 06 Мая, 2009 - 14:53:18 - перейти к сообщению
Возможно. Надо писать как?)
5. Virgin - 06 Мая, 2009 - 15:02:18 - перейти к сообщению
Я попробовал, но у меня просто один раз выполняется с определенной задержкой и цикла не наблюдается
6. Champion - 06 Мая, 2009 - 15:08:01 - перейти к сообщению
покажи как делал.
(Добавление)
Я думаю, оформляешь это в функцию: создал request = GXmlHttp.create(), послал, потом на request.readyState == 4 объект удаляешь в конце, чтоб не плодился.
И всю эту функцию через settimeout вызываешь
7. Virgin - 06 Мая, 2009 - 15:46:29 - перейти к сообщению
ну накопал типа такого
PHP:
скопировать код в буфер обмена
  1.  
  2. function loadXMLGET(url)
  3. {
  4. url=encodeURI(url);
  5. if(gsend==0)
  6.         {
  7.         if (window.XMLHttpRequest) {req = new XMLHttpRequest(); req.onreadystatechange = processReqChangeSet;
  8.         req.open("GET", url, true); req.send(null);} else if (window.ActiveXObject) {req = new ActiveXObject("Microsoft.XMLHTTP");
  9.         if (req) { req.onreadystatechange = processReqChangeSet; req.open("GET", url, true); req.send();}}
  10.         gsend=1;
  11.         }
  12. else
  13.         {
  14.                 window.setTimeout("loadXMLGET('"+url+"');",300);
  15.         }
  16. }
  17.  
  18. function processReqChangeSet()
  19. {
  20.  
  21.     if (req.readyState == 4) {
  22.  
  23.         if (req.status == 200) {
  24.  
  25.  
  26. ............//парсер//
  27.  
  28.  
  29. }
  30.  
  31.     else {
  32.       alert("Sorry, it is not compatible with this browser");
  33.     }
  34.  
  35.  
  36.  
  37.  


а потом вызываю функцию
CODE (text):
скопировать код в буфер обмена
  1.  
  2. function changeURL()
  3. {
  4.   loadXMLGET("http://mysite.ru/example.php");
  5.   setTimeout("changeURL()", 2000);
  6. }
  7.  

в теле <body onload="changeURL()"

 

Powered by ExBB FM 1.0 RC1