2015-02-11 91 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