2014-01-16 83 views
0

我有一個名爲data.php一個PHP文件,我想用jQuery調用文件及其內容返回輸出插入到一個div

<div id="datacontainer"></div> 

每60秒。我在這裏發現了很多關於事件觸發onclick的例子,但我正在努力尋找定時事件的解決方案。

使用jQuery/Ajax將名爲path/to/file/data.php的文件輸出插入到div中的最佳做法是什麼?

+0

使用你在例子中看到的東西+'setInterval()' – techfoobar

+0

你有沒有試過任何代碼? – rccoros

回答

1
/* 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); 
0
var $contentdiv = jQuery('#datacontainer'); 
window.setInterval(function() { 
    $contentdiv.load("path/to/file/data.php"); 
}, 60000); 

如果你在GOOGLE上搜索,你會發現這個MDN page...

1

檢查了這一點 「的JavaScript計時器事件」:http://api.jquery.com/load/https://developer.mozilla.org/en-US/docs/Web/API/Window.setInterval

例子:

setInterval(function() { 
    $("#datacontainer").load("data.php"); 
}, 60000); 

還要考慮使用successCallbackjQuery loadsetTimeout,因爲通常你想等到服務器將返回內容。在我看來最好的做法是:

var ID = null, 
    time = 60000, 
    func = function() { 
    $("#datacontainer").load("data.php", function() { 
     ID = setTimeout(func, time); 
    }); 
}; 
ID = setTimeout(func, time); 

但它取決於用例。