2015-02-11 118 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);