关于使用ajax

时间:2011-07-12 02:11:18

标签: php ajax

我在网页上显示文本文件的内容(例如<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 :(得分:0)

实现“服务器推送”效果的最简单方法是通过轮询。

在您的情况下,您可以通过添加简单的Javascript语句来添加此功能:

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

此代码每5000毫秒调用change();

答案 1 :(得分:0)

您可以使用setInterval()执行定期AJAX查询来检查更新。然后,如果需要,请更新页面上的内容。