ajax中定时刷新页面的问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 08:03:30
我有这样一个函数
function getMessage() {
var url = "chat.aspx";

xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
document.getElementById("main").innerHTML=xmlHttp.responseText;

}
}
xmlHttp.send(null);
}

很普通的ajax函数,chat.aspx返回当前的时间。

在页面中用这个来驱动:<body onload="setInterval(getMessage,1000)">
可是他并不刷新……一直是老数据,请问问题出在哪里?

连个分都不给,败给你了。
还是我好心。。。。
不是没有刷新,只是以前执行的页面被存下来了。老的不去,新的怎么会来。

setInterval(getMessage,1000),这个方法在getMessage方法里面,你想要做的应该是递归吧.
然后在Onload的时候onload="getMessage()";
我想这样应该就不会有问题了.
改成这样:
function getMessage() {
var url = "chat.aspx";

xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
document.getElementById("main").innerHTML=xmlHttp.responseText;
setInterval(getMessage,1000);
}
}
xmlHttp.send(null)
}

代码如下:

function deleteValue(){
var refresh = function() {
$.ajax({
  type:'post',
  url:'/Application/index',
  timeout:30000,
  data:{time:"3"},
  dataType:'html',
  success:function(data){
  if(data