我正在修改另一个人用 AngularJS 编写的 Web 应用程序。此应用程序由 csv 数据文件提供,一开始运行良好。但是,当我尝试更改 csv 文件中的某些数据时,应用程序中依赖于从这些 .csv 文件中获取的数据的每个部分都会损坏。
我最初怀疑这个问题与 Excel 在尝试修改 .csv 文件时将其识别为 SYLK 文件有关。但是,当我尝试用旧 .csv 替换新 .csv 时,它没有任何变化。甚至,删除整个应用程序并替换旧应用程序也无法解决任何问题。
所以现在,我怀疑运行应用程序的 Tomcat 服务器(Windows 下的 8.0)存在一些缓存问题。我尝试从 Tomcat 安装文件夹中删除 work/Catalina 中的 localhost 文件夹,如 Serverfault 上的另一个问题中所建议的那样,但它也没有改变任何东西(无论是在 IE 下还是在 Chrome 下)。我可以返回到正常运行的应用程序的唯一方法是重新启动计算机,但显然我不想每次进行修改时都重新启动。
知道导致该问题的原因是什么吗?
答案1
我确实找到了答案,它实际上是两个问题的结合:
浏览器没有覆盖缓存。解决方案:每次更新应用程序时删除 Firefox/Chrome 的缓存。IE 实际上是自己检查页面的新版本,所以它没有这个问题。
尝试修改 .csv 文件时出现 unix/DOS 兼容性问题。解决方案:使用记事本打开修改后的 csv 文件并保存为 UTF-8 文件(并确保文件末尾没有回车符)。
答案2
我已经遇到过 100 次同样的问题。非常简单的解决方案是,清除浏览器缓存,或者直接在新选项卡中打开 URL(即:只需单击浏览器新选项卡并粘贴应用程序本地主机 URL)
现在清除缓存的快捷方式:
Ctrl+Shift+Delete 然后选中缓存复选框然后提交。关闭浏览器并重新打开它然后运行您的应用程序。
或者
重新启动 Tomcat 服务器。