Как заставить php выполнять задачи в реальном времени не обновляя страницу?

Рейтинг: 0Ответов: 1Опубликовано: 10.05.2011

Помогите решить задачу: необходимо выводить события(текст,цифры или график) в заданный интервал времени.Приблизительное решение можно увидеть в рамблере, раздел ТВ программы.

Ответы

▲ 2
function xmlHttp(){
    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;
}

function ajax(href, callback, method, data)
{
    callback = callback || null;
    method = method || 'get';
    data = data || null;

    var x = xmlHttp();
    x.onreadystatechange = function(){
        if(x.readyState == 4 && x.status == 200)
            if(callback)
                callback.apply(x.responseText);
    };
    x.open(method, href, true);
    if(method == 'post')
        x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    x.send(data);
}

setTimeout(function(){ajax("news.php", function(text){
    document.getElementById('news').innerHTML = text;
})}, 60*1000);

Вот примерно так (код не тестил). А news.php должен отдавать уже готовый код для вставки в блок новостей, то есть без html, body и прочей шелухи.