简短:我是新手,但我尽量直接问,但请尽量原谅我;)
我一直在寻找解决我的问题的方法和两个主题:
靠近并展示一些出色的解决方案,不幸的是它们不适用于我的情况。
我需要使用 jQuery.ajax() 调用向 IP 摄像机发送 CGI 命令。我得到并且经常改变结果。所以我不能让浏览器缓存结果!我知道并经常阅读有关此选项的信息(请参阅主题 1。):
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
但这在我的情况下不起作用,因为相机 CGI 命令结构不适用于附加到命令的时间戳。因此,我将得到一个错误,而不是得到我需要的答案。
之后我想,我可以采用 jQuery 代码来删除设置选项“缓存:false”时附加的时间戳。但是在我阅读了一些评论之后(参见主题 2):
因此,如果您使用 cache: false,jQuery 只需在 URL 中添加一个带有当前时间的附加参数。它使本地浏览器成为另一个 URL,因为它可能在本地缓存中具有,并将请求转发到服务器。而已。
所以我发现这对我也无济于事。
主题 2 的一种解决方案是在服务器响应标头中添加等于“max-age=0”的“Cache-Control”,这会关闭本地兑现。但同样,它对我来说根本不起作用,因为我无法访问或无法访问 IP 摄像机的软件。
我认为一种解决方案是停用或删除该特定调用的缓存。另一种解决方案可能是通过任何其他方式停止缓存。
那么有人知道,当我连续两次调用 ajax 事件时,如何让 Web 浏览器停止使用缓存的答案?(重新加载网站会有所帮助,但在这种情况下也是不行的)。
提前感谢所有答案,如果您需要更多信息以使我的问题更清楚,请随时提问。
问候, lihume