使用 AJAX 刷新 HTML 表

Refresh HTML Table Using AJAX

本文关键字:HTML 刷新 AJAX 使用      更新时间:2023-09-26

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

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

我知道您需要请求文档才能使 AJAX 工作,但我在页面上找不到该文档。我只是用户>.> - 这让我假设ajax主要适用于开发网站的人。

除非您

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

您只是用户,在加载页面时会获得整个页面。因此,不,您将无法仅获取表数据而不获取页面的其余部分。即使你只需要表格部分,你也必须请求整个页面。

最好的办法是使用一个重新加载整个页面的脚本。这可以通过网页和 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,允许客户端从服务器请求特定信息,以加快速度。你这里没有。

据我了解,您只需要一些可以检查商品价格并在低于阈值时提醒您的东西。如果是这种情况,我会使用允许您将JS注入网页的Chrome扩展程序。像这样的东西。

以下 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)