使用AJAX刷新HTML表

时间:2012-06-20 21:23:38

标签: javascript html ajax

我对如何使用AJAX刷新HTML表感到困惑。

我不是网站的开发者,所以我没有服务器端信息。无论如何,我无法在此页面上重新加载表:http://www.roblox.com/Poison-Horns-item?id=62152671

据我所知,您需要申请AJAX文档,但我无法在页面上找到该文档。我只是用户>。> - 这让我认为ajax主要是为了开发网站的人。

1 个答案:

答案 0 :(得分:0)

除非您有某种方式获得该部分,否则您将无法仅重新加载页面的一部分。从开发人员的角度来看,他们只需要从服务器请求表数据并在屏幕上显示,然后自动更新。

您只是用户,在加载时获取整个页面。所以不,你将无法在不获取页面其余部分的情况下获取表数据。即使您只想要表格部分,也必须请求整个页面。

最好的办法是让脚本重新加载整个页面。这可以通过网页和iFrame在iFrame中加载网站以及只是经常重新加载框架的脚本来完成。

<iframe id="frame" src="http://mysite.com"></iframe>​

setInterval(reload,1000)

function reload() {
    document.getElementById("frame").src=document.getElementById("frame").src;
}

以上代码将每1000ms重新加载页面。

关于AJAX比重新加载页面更快:

如果您只使用AJAX请求数据然后在客户端更新页面,则确实如此。在这种情况下,客户端和服务器之间的数据传输最少,因此一切都更快。在您的情况下,即使您使用AJAX,您仍然需要请求整个页面。使用AJAX的网站有一个API,允许客户端从服务器请求特定信息以加快速度。你没有这里。

根据我的理解,您只需要检查物品价格的物品,并在物品价格低于阈值时提醒您。如果是这种情况,我会使用Chrome扩展程序,允许您将JS注入网页。类似于this

以下jQuery选择器可以获得第一个项目的价格。您可以调整阈值和间隔(300000ms = 5 minutes)。

var price = $("#UserSalesTab > table > tbody > tr:nth-child(2) > td:nth-child(3) > b").html().match(/[0-9]+/)[0]
if (price < 100) alert("BUY");
setInterval(reload, 300000)