2014-02-14 43 views
0

我必須加載一些存儲在tsv文件中的數據來創建一個d3js的條形圖。 我用這個代碼讀取文件:文件裏面變化如何讀取動態tsv文件d3js

d3.tsv("data.tsv", function(error, data) { 

的數據在調用一個servlet功能更新這些數據的按鈕的每次點擊。

問題是我無法獲取更新數據,所以我卡在存儲在文件中的拳頭數據上。

我避免了創建n文件和讀取這些不同文件的問題。

但我想使用相同的文件。

回答

0

所以在這裏你去,

  1. 的onclick得到新的文件
  2. 一旦你確信你已經在updatedFile讀取使用d3.tsv它(你可以使用回調這裏)和內打電話給功能圖
+0

這是我在做什麼,但它不工作。我總是獲得舊的價值觀。 –

+0

你可以提供一些代碼/設計部分或小提琴的細節,如果可能的話 –

0

這是因爲你的瀏覽器正在緩存文件,而不是實際上重新加載它。您可以通過添加一個不斷變化的查詢參數調用,並不做任何事情,但阻止瀏覽器緩存避免這種情況:

var counter = 0; 
// ... 
d3.tsv("data.tsv?foo=" + i++, function(error, data) { 
    // ... 
}); 
+0

謝謝拉爾斯。隨着你的建議,行爲發生了變化。現在它在五/六次請求中一次讀取正確的值。我在調用閱讀函數之前添加了這個延遲:setTimeout(function(){update(xmlhttp.responseText);},3000);現在它可以工作 –