Javascript 使浏览器上的ajax更新值无需刷新

Javascript 使浏览器上的ajax更新值无需刷新,javascript,php,jquery,ajax,xml,Javascript,Php,Jquery,Ajax,Xml,我使用ajax jquery从XML文件中读取一个值,并将其显示在浏览器上问题是,当我更改XML文件的值时,我不知道如何在浏览器中自动更改它 xml(counter.xml)文件: 5. php(slideshow.php): 正文{字体系列:Helvetica,Arial,无衬线;线条高度:1.3em;-webkit字体平滑:抗锯齿;} .集装箱{ 宽度:90%; 保证金:20px自动; 背景色:#FFF; 填充:20px; } 预编码{ 字体系列:摩纳哥、门罗、康索拉斯、“信使新”、m

我使用ajax jquery从XML文件中读取一个值,并将其显示在浏览器上问题是,当我更改XML文件的值时,我不知道如何在浏览器中自动更改它 xml(counter.xml)文件:


5.
php(slideshow.php):


正文{字体系列:Helvetica,Arial,无衬线;线条高度:1.3em;-webkit字体平滑:抗锯齿;}
.集装箱{
宽度:90%;
保证金:20px自动;
背景色:#FFF;
填充:20px;
}
预编码{
字体系列:摩纳哥、门罗、康索拉斯、“信使新”、monospace;
字体大小:12px;
颜色:#333;
-webkit边界半径:3px;
-moz边界半径:3px;
边界半径:3px;
}
前{边框:1px实心#CCC;背景色:#EEE;颜色:#333;填充:10px;溢出:滚动;}
代码{填充:2px4px;背景色:#F7F7F9;边框:1px实心#E1E1E8;颜色:#D14;}
函数ajaxRequest(){
var activexmodes=[“Msxml2.XMLHTTP”,“Microsoft.XMLHTTP”]//要在IE中检查的activeX版本
if(window.ActiveXObject){//首先测试IE中对ActiveXObject的支持(因为IE7中的XMLHttpRequest被破坏)
对于(var i=0;i=0)
输出+=''
}
输出+=''
document.getElementById(“结果”).innerHTML=output
}
否则{
警报(“发出请求时发生错误”)
}
}
}
打开(“GET”,“counter.xml”,true);
mygetrequest.send(空);
refreshdiv();
美元后推([
试试这个

setTimeout(function(){
 //your ajax code
},100);

你需要这样的东西

setInterval(
    function(){
        //your ajax call
    }
    ,100 //The time in milliseconds that should repeat the ajax call 
);
setInterval函数设置一个逻辑,该逻辑将在您设置的时间内重复给定的任务。因此,您可以每x秒检查并加载一次.xml文件

你可以像这样停止重复

var interval = setInterval(function(){ //your function }, 100);
clearInterval(interval);
来自@pratik nagariya的其他人提到

setTimout()

函数只会延迟您的调用,但不会重复调用。

我只是做了一些快速搜索,发现您可以使用以下代码:

reloadinterval=window.setInterval(function(){
    old=rssentries;
    // your ajax reqest code
    if(!(rssentries==old)){window.reload();}

}, 3000 //the time interval in milliseconds);

您可以设置某种类型的手动长轮询,也可以创建一个web套接字,以便后端可以将消息发送回浏览器。不工作,或者如果您可以将其调整为我的代码,请不要工作,或者如果您可以将其调整为我的代码,请
setTimout()
reloadinterval=window.setInterval(function(){
    old=rssentries;
    // your ajax reqest code
    if(!(rssentries==old)){window.reload();}

}, 3000 //the time interval in milliseconds);