самообновление контента в Xajax

Discussion in 'PHP' started by PiNzit, 17 Jan 2008.

  1. PiNzit

    PiNzit Elder - Старейшина

    Joined:
    14 Jan 2008
    Messages:
    57
    Likes Received:
    10
    Reputations:
    0
    Интересует реализация скрипта на XAJAX который сам через определенный промежуток времени стучится к серверу за данными, рассмотрим на примере чата, то есть есть скрипт который обращается к php функции на сервере а та в ответку кидает данные. Непосредственна проблема в том, что кудаб я не пытался вставить стандартный JS таймер он в упор не работает с XAJAX
     
    1 person likes this.
  2. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    PiNzit, ты что-то плохо вставляешь... Стандартные таймеры прекрасно работают с xajax'ом... Возможно твою проблему решит использование мета-тега refresh в заголовке документа?
     
    1 person likes this.
  3. PiNzit

    PiNzit Elder - Старейшина

    Joined:
    14 Jan 2008
    Messages:
    57
    Likes Received:
    10
    Reputations:
    0
    groundhog если не сложно, можеш дать кусок кода XAJAX с таймером?
    мета тэг не то что хотелось бы, в случае его использования весь смысл от Ajax теряется)) хочу научиться это именно асинхронными запросами делать
     
  4. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    Code:
    function updateData()
    {
    // тут действия с xajax, которые тебе нужно произвести
    }
    
    var intrvl = setInterval('updateData()', 1000);// вызываем updateData каждую секунду
    
     
  5. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Возможно это придирка, но первый параметр должен быть функцией, а не строкой.
    Если передавать строку, то она сначала разбирается по принципу, схожему с eval().
    В данном случае соблюсти это требование просто, так как не нужно передавать никаких параметров.
    Code:
    var intrvl = setInterval(updateData, 1000);
     
    1 person likes this.
  6. PiNzit

    PiNzit Elder - Старейшина

    Joined:
    14 Jan 2008
    Messages:
    57
    Likes Received:
    10
    Reputations:
    0
    спасибо, сейчас попробую...
     
  7. PiNzit

    PiNzit Elder - Старейшина

    Joined:
    14 Jan 2008
    Messages:
    57
    Likes Received:
    10
    Reputations:
    0
    разобрался, странно, что раньше не получалось, я сделал так, в качестве вызывающейся функции назначил генерируемую JS функцию xajax_name в которой name это имя PHP функции на сервере, зарегистрированной через xajax для использования асинхронно $xajax->registerFunction('name');
     
    1 person likes this.