2012-06-20 96 views
0

我很困惑如何使用AJAX刷新HTML表格。使用AJAX刷新HTML表格

我不是該網站的開發人員,所以我沒有服務器端信息。我無法找到重新加載在這個頁面上的表格:http://www.roblox.com/Poison-Horns-item?id=62152671

據我所知,你需要請求一個AJAX文檔工作,但我無法找到頁面上的文檔。我只是用戶>。> - 這讓我認爲阿賈克斯主要是爲開發網站的人。

+0

最簡單的方法是在計時器上設置一個刷新,或者您需要保持頁面不刷新? – TheZ

+0

請聯繫您的系統管理員... – Sebas

+0

您想做什麼,具體是?重新加載表格是什麼意思?你想只刷新頁面的那一部分? – sachleen

回答

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) 
+0

我已經使用'iframe.onload = loaded'加載了iframe加載的函數。我明白了,只是AJAX會更快運行:/ – Alex

+0

您的網頁是否位於同一網域?如果不是,AJAX將無法工作,因爲您獲得[跨源限制](http://en.wikipedia.org/wiki/Same_origin_policy)。 – sachleen

+0

薩克,我做了一個JavaScript檢查表中的價格,如果夠低,它會購買。我被告知AJAX比刷新整個頁面更快。 – Alex