我正在使用xmlhttprequest来调用servlet。它在Firefox中运行良好。但是,在IE中,只有当我单击刷新按钮时,它才有效(有时也是如此)。否则,它不会触发。此外,显示响应文本而不调用servlet。那是使用Cache还是什么?我什么都不知道。请帮帮我。
答案 0 :(得分:1)
MSIE过于急于缓存XHR请求。解决此问题的唯一可行方法是向XHR URL添加带时间戳的查询字符串。
var url = '/url/to/your/servlet?' + new Date().getTime();
答案 1 :(得分:0)
谢谢你们所有人。实际上,我在javascript中调用servlet时使用了“GET”而不是“POST”。当我尝试POST时,它运行正常。
答案 2 :(得分:0)
要通过xhr的zelous缓存来解决IE,你必须让你的servlet添加
Cach-Control:max-age=0
提供所有html和.js文件的响应标头。
这将导致使用此响应重新验证所有文件,下次从IE(包括XHR)请求它们。 (必须重新验证似乎不适用于xhr加载的java脚本文件,不知道为什么) 完成此操作后,请务必清除IE缓存,以使其在下一次加载时生效。
IE将在此设置下表现良好。但是当然不要把它投入生产。