2014-11-23 77 views
3

我一直試圖做很多時間,但我不能。這裏是我的問題: 我有一個網頁,就像這樣:如何使用AJAX自動刷新div或網頁

<html> 
<body> 
<div id="my_div"> 
<span id="txt">HELLO WORLD</span> 
</div> 
</body> 
</html> 

現在我想的是,格「my_div」刷新本身每X秒,還刷新其內容。如何使用AJAX或JQUERY或JAVASCRIPT來做到這一點?

注意:我不需要一個腳本來刷新整個頁面。 注意(2):我剛剛試圖找到谷歌的東西,但我什麼也沒找到。

請幫幫我。我一直有這個問題很多時間。

預先感謝您!

+0

@charlietfl?我需要一個每隔X秒刷新div的ajax代碼。 – Michele 2014-11-23 15:01:24

回答

7

使用jQuery load()和間隔計時器是最簡單的。

setInterval(function(){ 
    $('#my_div').load('/path/to/server/source'); 
}, 2000) /* time in milliseconds (ie 2 seconds)*/ 

load()$.ajax

的速記方法這是假設你將建立一個服務器端腳本,只有輸出該元素的內容。 你也可以使用一個選擇片段load URL中解析一個完整頁面的具體內容

load() API Docs

+0

YEAH!這是我正在尋找的!謝謝! 只是另一回事:如果我想刷新整個頁面呢? – Michele 2014-11-23 15:14:44

+0

如果你想重新加載一個定時器的整個頁面,你可以使用 IanB 2017-10-25 13:59:46

+0

@IanB這是**沒有**使用ajax刷新頁面內的內容 – charlietfl 2017-10-25 15:37:31

1

使用jQuery,您可以使用動態更新元素的內容:

$("#my_div").html("... new content ..."); 

新內容取代了原來的內容。

使用setInterval()方法,就可以導致JavaScript可以每個週期執行:

例如:

window.setInterval(function() { 
    $("#my_div").html("... new content ..."); 
}, 1000); 

將取代所述內容的每一秒。

+0

我試過這段代碼:http://prntscr.com/59av98 但它不起作用! – Michele 2014-11-23 15:05:43

+0

您編碼的函數($(「#my_div」)。html(「Hello」)){}而不是:function(){$(「#my_div」)。html(「Hello」)} – Kolban 2016-06-28 19:19:01

2

你可以寫一些東西像什麼意義

var doSth = function() { 

    var $md = $("#my_div"); 
    // Do something here 
}; 
setInterval(doSth, 1000);//1000 is miliseconds