我使用如下所示将 WebDataRocks 数据透视表与 Angular 应用程序集成,并将全局数据源文件名 URL 设置为本地 Nodejs 服务器提供的文件:
var pivot = new WebDataRocks({
container: wdrContainerId,
toolbar: true,
height: wdrContainerElement.offsetHeight,
width: wdrContainerElement.offsetWidth,
global: {
dataSource: {
type: "csv",
filename: "http://localhost:3000/myfile.csv"
}
},
beforetoolbarcreated: customizeToolbar,
reportcomplete: function() {}
});
WebDataRocks Pivot 显示错误“找不到文件”,因此我使用 Chrome 开发者工具检查文件 HTTP 请求 URL,并注意到 WebDataRocks 将 Unix 时间戳(例如 478925687)附加到 global.dataSource.filename URL 作为查询参数。
我在 Chrome 开发者工具中看到的内容: 请求网址:http://localhost:3000/myfile.csv?478925687
我没有找到任何有关此附加时间戳查询参数的文档,并且想知道为什么附加它以及是否可以删除它。目前,我只是将其从本地 NodeJS Web 服务器中的 URL 中剥离,以避免 HTTP404 错误。
我没想到 WebDataRocks Pivot 将时间戳查询参数附加到 global.dataSource.fileName URL 字符串,并期望 WebDatarocks 使用我输入的相同 URL(即 http://localhost:3000/myfile.csv)获取文件。但是,WebDataRocks 在 URL 中附加了一个 Unixtimestamp 值 478925687,这最初导致我的 Web 服务器返回 HTT404 错误,并且在我在本地 NodeJS 服务器中添加临时处理程序以剥离查询参数字符串之前,WebDataRocks 显示 HTTP404 错误。
简短回答:没有现成的明确解决方案 从 URL 中删除时间戳的解决方法似乎是目前唯一的方法 他们添加这个时间戳的原因是为了处理浏览器缓存,因为对于浏览器来说,不同的 URL 是不同的文件