如何读取动态tsv文件d3js

时间:2014-02-14 12:24:24

标签: javascript caching servlets d3.js tsv

我必须加载存储在tsv文件中的一些数据来创建带有d3js的条形图。 我使用此代码来读取文件:

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

每次单击调用servlet函数更新这些数据的按钮时,文件内的数据都会发生变化。

问题是我无法获取更新数据,因此我坚持使用存储在文件中的第一个数据。

我避免了创建n文件和读取这些不同文件的问题。

但我想使用相同的文件。

2 个答案:

答案 0 :(得分:0)

所以,你走了,

  1. Onclick获取新文件
  2. 一旦你确定你有更新的文件使用d3.tsv读取它(你可以在这里使用回调)并在里面调用绘制的函数

答案 1 :(得分:0)

这是因为您的浏览器正在缓存该文件而不是实际重新加载它。您可以通过向调用添加更改查询参数来避免这种情况,这不会阻止浏览器缓存:

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