我一直在寻找一天或两天来回答这个问题,但我还没找到。我有一个外部应用程序,它定期修改TSV文件(添加数据)。我正在使用Basic Line Chart example来显示数据,它看起来非常好:
现在我希望在更新TSV文件时更新数据。我希望能够在从tsv文件中提取的数据上设置自动刷新,并重新填充图表,而无需刷新整个页面。
我尝试在函数中包装当前代码并在该函数上调用setInterval,但每次数据都保持不变(可能是因为它被缓存了?)。
理想情况下,对此的解决方案是一个可以随时调用Update的函数(基于用户事件,计时器等)。
非常感谢任何有关实现同一目标的替代方法的想法,链接或建议!
作为一个额外的问题:我理解D3可能不是这种Psudo-Real-Time数据显示的正确选择。是否还有其他套装更适合这类事情?生成数据的应用程序是一个C#应用程序(如果最终有问题)。
编辑:作为补充说明,想象一下这个例子,但是从文件中读取数据:http://mbostock.github.com/d3/tutorial/bar-2.html
答案 0 :(得分:0)
如果您正在执行Ajax调用以从服务器获取数据并且您认为缓存存在问题,则可以通过将jquery's ajaxSetup中的cache
参数设置为{{1}来尝试清除缓存代码中的任何地方:
false
来自文档:
如果设置为false,则会强制请求的页面不被缓存 浏览器。注意:将缓存设置为false只能与HEAD和 GET请求。它的工作原理是将“_ = {timestamp}”附加到GET参数。该 其他类型的请求不需要参数,IE8除外 对已经由GET请求的URL进行POST。