我目前开始使用包括AJAX在内的项目,但我遇到了一个问题。使用Microsoft Edge(和Internet Explorer)时,它不会更新数据,除非我关闭整个页面并再次打开它,或者我打开我的PHP文件,我通过AJAX发送数据。
有没有人没有如何使用PHP和/或Javascript解决这个问题?
提前致谢
答案 0 :(得分:5)
“快速修复”将使用$ .ajax方法的cache:false选项,但如果您拥有对服务器的控制权,这实际上不是解决此问题的正确方法。相反,你应该让php返回一个你不想缓存的服务上的no-cache标头,以及你想要缓存的服务上的缓存标头。
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
以上代码取自BalusC的答案:How to control web page caching, across all browsers?
否则,您应该有一个htaccess指定应该缓存哪些文件,例如不经常更改的静态资源(.html,.js,.css等)
答案 1 :(得分:-1)
您可以查看部分答案here。我不认为浏览器会允许您直接通过javascript清除缓存。但是,有一些解决方法可以解决您的问题。