2015-02-11 40 views
0

我正在使用以下脚本以60秒的时间间隔刷新我的messages.php。在div中刷新php脚本

<script> 
jQuery().ready(function(){ 
setInterval("getResult()",60000); 
}); 
function getResult(){ 
jQuery.post("messages.php",function(data) { 
    jQuery("#msgs").html(data); 
}); 
} 
</script> 
<div id="msgs"> 
</div> 

我目前的问题是PHP文件的回声在60秒后第一次显示。然后每60秒刷新一次。 我需要在开始启动页面时加载代码。在DOM就绪

+1

所以,你已经实现?你卡在哪里? – Mysterion 2015-02-11 08:45:49

+1

'jQuery(getResult);'一旦文档准备好就会调用它。仅供参考,这是首选语法:'setInterval(getResult,60000);'避免字符串评估 – 2015-02-11 08:48:43

+0

只需添加getResult();在你的setInterval之前,这样它会被执行一次,然后,在getResult()之后每60秒执行一次 – briosheje 2015-02-11 08:48:56

回答

1

呼叫的getResult()以及

<script> 
jQuery().ready(function(){ 
getResult(); 
setInterval("getResult()",60000); 
}); 
function getResult(){ 
jQuery.post("messages.php",function(data) { 
    jQuery("#msgs").html(data); 
}); 
} 
</script> 
<div id="msgs"> 
</div> 
+0

丢失分号。 – briosheje 2015-02-11 08:49:56

+0

是的,我的坏!... – void 2015-02-11 08:50:30

+0

:)那是快! – briosheje 2015-02-11 08:51:11

0

为了得到在页面加载数据,对DOM ready事件致电getResult(),如下图所示: -

<script> 
jQuery().ready(function(){ 
    getResult(); //it will get data as soon as page is loaded. 
    setInterval("getResult()",60000); // it will refresh #msgs after every 1 min. 
}); 
function getResult(){ 
    jQuery.post("messages.php",function(data) { 
    jQuery("#msgs").html(data); 
    }); 
} 
</script> 
<div id="msgs"> 
</div> 
0
<script> 
jQuery().ready(function(){ 
    getResult(); 
    setInterval("getResult()",60000); 
}); 
function getResult(){ 
jQuery.post("messages.php",function(data) { 
    jQuery("#msgs").html(data); 
}); 
} 
</script> 
<div id="msgs"> 
</div> 

使用此代码..

1

我只会每次使用setTimeout:

<script> 
jQuery().ready(function() { 
    function getResult() { 
     $('#msgs').load('messages.php', {}); 
     setTimeout(getResult, 60000); 
    } 

    getResult(); 
} 
</script> 
<div id="msgs"></div> 

替代与重新火回调(A.沃尔夫的建议,以防messages.php需要长时间才能完成):

<script> 
jQuery().ready(function() { 
    function getResult() { 
     $('#msgs').load('messages.php', {}, function() { 
      setTimeout(getResult, 60000); 
     }); 
    } 

    getResult(); 
} 
</script> 
<div id="msgs"></div> 
+0

良好的调用传递数据以加载方法并使用超时,即使我会使用完整的加载方法回调,以防万一请求需要超过60秒完成 – 2015-02-11 08:59:47

+0

好主意。我会根据您的建议添加替代方案。 – Blizz 2015-02-11 09:07:15