2015-02-11 88 views
1

基本上我有一個動態HTML表格對於特定的URL每5秒刷新一次表格

<table id="example"></table>

表中的內容根據URL更改。我默認 URL將

index.php?action=add 

爲此,我寫了一個函數來刷新我的表,每隔5秒鐘,工作正常

var autoLoad = setInterval(
function() 
{ 
    $('#example').load('index.php?action=add #example').fadeIn("slow"); 
}, 5000); 

然後i'l我的網址更改爲

index.php?action=add&subdo=loc

這將改變我的HTML表格內的內容。

讓我怎麼刷新我的HTML表格每5秒的新內容爲index.php?action=add&subdo=loc

編輯:我將不得不改變對多個URL對我的表中對不同URL的不同內容。沒有一個

index.php?action=add&subdo=loc1 
index.php?action=add&subdo=loc2 
+0

當你說你是什麼意思_ 「然後i'l改變我的網址爲」 _?你在什麼時候改變它的目的是什麼? – 2015-02-11 11:40:56

+0

您可以使用setInterval或在瀏覽器中每5秒鐘按F5鍵。 – 2015-02-11 11:52:49

回答

1

使用window.location.search

試試這個: UPDATE

var autoLoad = setInterval(
function() 
{ 
    var url = window.location.search; 
    $('#example').load('index.php' + url + ' #example').fadeIn("slow"); 
}, 5000); 
+0

這不會爲我工作。這是刷新我的完整頁面。 – Matarishvan 2015-02-11 11:41:58

+0

我已更新代碼。嘗試它是否適合你 – user2232273 2015-02-11 11:51:45

1

您可以

var autoLoad2 = setInterval(
function() 
{ 
$('#example').load('index.php?action=add&subdo=loC#example').fadeIn("slow"); 
}, 5000); 

這也許能解決第二功能。

1

如果我理解正確的,當你在瀏覽器中的腳本保持不變更改URL ...

是否嘗試過使用window.location,例如:

$('#example').load(window.location.href).fadeIn("slow"); 

這種方式間隔會重新調用當前的url,不管它是什麼。

讓我知道...

+0

'window.location.pathname'會更適合這個用例,避免加載完整域而不是相對路徑時遇到的各種問題。 – 2015-02-11 11:47:02

+0

更好的辦法是用Ajax請求更改表格內容....並避免使用網址..... – Federico 2015-02-11 11:48:11

1

編輯:費德里科的答案是簡單的,但這個答案給你更多的控制權。

看起來您想更改load調用中的網址嗎?如果是這樣,那麼你將需要在Javascript中解析頁面的GET參數,然後在你的負載調用中包含這個參數,不幸的是,沒有這樣做的神奇功能,然而在this thread中有很多解決方案。

一旦你選擇了一個解決方案,並與所有的GET參數的對象,那麼你可以這樣做:

var getParams = getParamFunctionHere();  

var autoLoad = setInterval(function() { 
     $('#example').load('index.php?action=add&subdo' + getParams.subdo).fadeIn("slow"); 
    }, 5000); 

希望這有一定的道理!

1

試試這個:

var url = '', 
    autoLoad = setInterval(function() { 
    if (window.location.pathname.indexOf('subdo') != -1) { 
     url = 'index.php?action=add&subdo=loc'; 
    } else { 
     url = 'index.php?action=add'; 
    } 
    $('#example').load(url + ' #example').fadeIn("slow"); 
    }, 5000);