我有一個名爲data.php
一個PHP文件,我想用jQuery
調用文件及其內容返回輸出插入到一個div
<div id="datacontainer"></div>
每60秒。我在這裏發現了很多關於事件觸發onclick的例子,但我正在努力尋找定時事件的解決方案。
使用jQuery/Ajax
將名爲path/to/file/data.php
的文件輸出插入到div中的最佳做法是什麼?
我有一個名爲data.php
一個PHP文件,我想用jQuery
調用文件及其內容返回輸出插入到一個div
<div id="datacontainer"></div>
每60秒。我在這裏發現了很多關於事件觸發onclick的例子,但我正在努力尋找定時事件的解決方案。
使用jQuery/Ajax
將名爲path/to/file/data.php
的文件輸出插入到div中的最佳做法是什麼?
/* set interval to call function every 60 seconds */
setInterval(function(){
/* start ajax */
$.ajax({
url: "path/to/file/data.php",
type: "GET"
}).done(function(html) {
/* when it's done, take the return and replace whatever is in the DIV with it
if you dont want to replace, but append, just use the .append(html) function */
$('#datacontainer').html(html);
});
}
/*60 seconds * 1000 miliseconds*/
,60000);
var $contentdiv = jQuery('#datacontainer');
window.setInterval(function() {
$contentdiv.load("path/to/file/data.php");
}, 60000);
如果你在GOOGLE上搜索,你會發現這個MDN page...
檢查了這一點 「的JavaScript計時器事件」:http://api.jquery.com/load/和https://developer.mozilla.org/en-US/docs/Web/API/Window.setInterval
例子:
setInterval(function() {
$("#datacontainer").load("data.php");
}, 60000);
還要考慮使用successCallback
的jQuery load
和setTimeout
,因爲通常你想等到服務器將返回內容。在我看來最好的做法是:
var ID = null,
time = 60000,
func = function() {
$("#datacontainer").load("data.php", function() {
ID = setTimeout(func, time);
});
};
ID = setTimeout(func, time);
但它取決於用例。
使用你在例子中看到的東西+'setInterval()' – techfoobar
你有沒有試過任何代碼? – rccoros