2013-02-21 57 views
0

這是我在論壇上的第一個問題,我認爲;-)。 我會盡量讓問題儘可能清楚。可視化跟蹤路由類似「yougetsignal.com」,如何在需求/定期更新div

我試圖通過kirk ouimet構建一個類似於yougetsignal.com上的視覺跟蹤路由。

它實際上已經在使用bash(traceroute,ping,host,)php/javascript,但是我在Javascript/AJAX上遇到了一些麻煩。

Kirk定期更新跟蹤的主機列表或通過跟蹤右側的某種ajax中斷更新。我只知道如何用一個Javascript xmlhttp調用一遍,然後將一個表格回顯到標準w3school-livesearch-DIV中。

http://www.yougetsignal.com/tools/visual-tracert/

我也知道鴕鳥政策如果他不traceroute的與像linux's「路由跟蹤」一個cmd行工具。 我的第一個tracerouting工作正常,然後使用「主機」進行反向查找,然後再次ping到列表中的所有主機以獲取rrt。

有什麼辦法輪詢txt文件(痕跡),然後回顯輸出到 一個DIV?

我很感激任何提示。

斯特凡

P.S:谷歌與地圖繪製工細,it's關於用戶需求(和我)享受更新跟蹤的主機 的過程。

+0

嘿,我幾乎做了同樣的事情。整個項目在這裏:https://github.com/mnmnc/aquila。我也使用ajax來將traceroute結果提供給用戶,所以它可能對您有所幫助。 – mnmnc 2014-11-18 16:19:22

回答

0

您可以通過使用jQuery的Ajax調用做什麼:

setInterval(function() { 
    $('#yourdiv').load('http://domain.com/yourfile'); 
}, 30000); 

該代碼將加載預先生成的HTML內容到指定的div容器每隔30s。如果您不需要加載臨時生成的html/php內容,則可以構建一個API,然後每次在DOM上動態添加回傳的數據。

setInterval(function() { 
    $.getJSON('yourAPIUrl', function (data) { 
     $.each(data, function (item) { 
      // do something with the retrieved data, add it to the DOM for example 
     } 
    }); 
}, 30000); 
+0

謝謝!這實際上看起來相當不錯。我希望能避免jQuery,但看起來不可能。下班回家後我會試試看。 – user2095033 2013-02-21 11:51:12

+0

你可以避免它,這不是什麼大不了的事。上面的代碼只是一個簡短的演示,jQuery是跨瀏覽器兼容的,但您也可以通過簡單地使用XMLHttpRequest對象http://www.w3schools.com/xml/xml_http.asp來實現。 – 2013-02-21 11:56:20

+0

這裏是另一個例子如何在純JS中實現jQuery getJSON:http://stackoverflow.com/questions/10149864/get-json-from-another-php-file-using-pure-javascript – 2013-02-21 11:58:39