Обновление <div> без перезагрузки страницы

Discussion in 'PHP' started by DVMade, 9 Aug 2011.

  1. DVMade

    DVMade Banned

    Joined:
    23 Jul 2010
    Messages:
    110
    Likes Received:
    3
    Reputations:
    0
    Сабж, извините, но вот так вот, не знаю, как реализовать. Знаю чт она ajax. Вообщем, есть блок <div id="updatebox">
    Нужно сделать так, что бы содержимое этого блока обнавлялось само по себе с определенным интервалом времени, интересует именно AJAX. Заранее спасибо.
     
  2. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Уверен на 90%, что никто не будет расписывать это. Куча инфы в нете, как написать скрипты(сервер/клиент) для вкручивания аякса на страницу. Тебе стоит только выбрать: будешь ты использовать голый жс или юзать фреймворк. Для обновления дива можно юзать такую функцию жс

    var time = 60000; //время в милисекундах между обновлениями
    setInterval(function() {
    //какой-то код, который будет делать запрос и заполнять ответом див.
    }, time);
     
  3. skrutcher

    skrutcher New Member

    Joined:
    17 Jul 2011
    Messages:
    17
    Likes Received:
    1
    Reputations:
    0
    Code:
        <script>  
            function show()  
            {  
                $.ajax({  
                    url: "time.php",  
                    cache: false,  
                    success: function(html){  
                        $("#content").html(html);  
                    }  
                });  
            }  
          
            $(document).ready(function(){  
                show();  
                setInterval('show()',1000);  
            });  
        </script>
    
     
  4. Furi

    Furi New Member

    Joined:
    25 May 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Собственно вариант без jQuery:)
    Code:
    <script>
    
    // Кроссбраузерное создание объекта запроса
    function getXmlHttp(){
        var xmlhttp;
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
           try {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (E) {
              xmlhttp = false;
           }
        }
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
           xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
    }
    
    // После каждого time интервала функция обновляет div#updatebox 
    function update() {
        var xmlhttp = getXmlHttp()
        xmlhttp.open('GET', 'test.php', true);
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4) {
                if(xmlhttp.status == 200) {
                    document.getElementById('updatebox').innerHTML = xmlhttp.responseText;
                }
            }
        };
        xmlhttp.send(null);
    }
    
    // Таймер
    var time = 200;
    setInterval("update()", time);
    
    </script>
    
     
  5. spectaser

    spectaser Banned

    Joined:
    2 Aug 2011
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    А чем не подошло? O_O
     
  6. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    jquery, не?