我在网页上显示文本文件的内容(例如<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>
答案 0 :(得分:0)
实现“服务器推送”效果的最简单方法是通过轮询。
在您的情况下,您可以通过添加简单的Javascript语句来添加此功能:
window.onload = function()
{
setInterval("change();", 5000);
};
此代码每5000毫秒调用change();
。
答案 1 :(得分:0)
您可以使用setInterval()
执行定期AJAX查询来检查更新。然后,如果需要,请更新页面上的内容。