0

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

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

我了解您需要请求 AJAX 工作的文档,但我在页面上找不到该文档。我只是用户 >.> - 这让我认为 ajax 主要是为开发网站的人准备的。

4

1 回答 1

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,允许客户端从服务器请求特定信息以加快速度。你这里没有。

据我了解,您只需要检查商品价格并在价格低于阈值时提醒您的东西。如果是这种情况,我会使用允许您将 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)
于 2012-06-20T21:28:51.533 回答