D3.json将缓存设置为false

Alc*_*sis 7 javascript ajax jquery json d3.js

我注意到用json call(d3.json)重绘D3元素不希望在IE9 +上更新.原因是json调用被缓存,因此浏览器不会在新数据传递时注册.正常jQuery ajax调用的解决方法是将其属性设置为cache:false,全局用于所有ajax调用:

$.ajaxSetup({ cache: false });
Run Code Online (Sandbox Code Playgroud)

但是如何将它添加到d3.json调用中,因为它使用自己的方法来调用ajax?我成功地在路径后面添加了当前时间戳:

var noCache = new Date().getTime();
d3.json(data + "?_=" + noCache)
Run Code Online (Sandbox Code Playgroud)

但这样做有点蹩脚......任何建议我怎么能做到这一点?或者更好的是,如果IE正在运行,如何设置这个:)

Nar*_*sim 0

我遇到过同样的问题。我通过将此代码添加到 html 文档的 HEAD 来解决它。

<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0"> 
<meta http-equiv="pragma" content="no-cache">
Run Code Online (Sandbox Code Playgroud)

但是,这将阻止缓存特定页面中的每个对象,因此请小心图像、字体和其他对象。