об использовании AJAX - PullRequest
1 голос
/ 12 июля 2011

Я показываю символ текстового файла на веб-странице (скажем, между <div id='text'></text>) содержимое этого файла редактируется любым пользователем, просматривающим страницу, я уже использую ajax для записи в файл и отображения для текущего пользователя, но если есть пользователи, просматривающие страницу в тот же момент, они должны обновить страницу, чтобы увидеть новый отредактированный контент. Я хочу знать, как использовать ajax, чтобы часть, содержащая содержимое файла, постоянно обновлялась без обновления страницы

<script type='text/javascript'>
function change(){

    if (window.XMLHttpRequest)  xhr=new XMLHttpRequest();
    else      xhr=new ActiveXObject("Microsoft.XMLHTTP"); //IE5

    xhr.onreadystatechange=function()
      {
        if (xhr.readyState==4 && xhr.status==200)
        {
            if(xhr.responseText=="empty") return;
            document.getElementById("space").innerHTML=xhr.responseText;
        }
     }
    var str=document.getElementById('msg').value;
    document.getElementById("msg").value="";    
    xhr.open("GET","response.php?q="+str,true);
    xhr.send();           
}
</script>

<center>
<div id='space'>nothing</div>
<input type='text' name='msg' id='msg'>
<input type='button' onClick='change()' value='Click'>
</center>

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

Вы можете использовать setInterval() для выполнения периодического AJAX-запроса на проверку обновлений.Затем при необходимости обновите содержимое на странице.

0 голосов
/ 12 июля 2011

Простейший способ добиться эффекта «проталкивания сервера» - опрос.

В вашем случае вы можете добавить эту функцию, добавив простой оператор Javascript:

window.onload = function()
{
    setInterval("change();", 5000);
};

Этот код будет вызывать change(); каждые 5000 мс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...