Ajax 请求给出不需要的响应
ajax request giving unwanted response
我有一个 html 页面index.htm
其中我有一个链接,该链接通过 ajax 请求将div 获取到另一个 html zoom.htm
,并将其附加到正文,但是当我在 zoom.htm
中进行更改时,更改不会反映,它类似于 zoom.htm
保存在某个地方(缓存),并且它正在从该缓存(我不知道它是否真正缓存)页面中获取div。即使我从项目中删除了 zoom.htm,它仍然显示其内容。
$.get('zoom.htm', function(html) {
$(html).hide().appendTo('body').fadeIn(500);
}, 'html');
- 每次提出请求时.htm我如何获得 zoom 的新副本。
- 当我用缩放替换 zoom.htm 时.jsp(这是我想要做的,但我正在使用 html 页面进行测试),它无法正常工作(所有 html 都与 zoom.htm 相同)。
为了防止获得缓存的响应,您只需确保 url 每次都是唯一的,例如附加时间戳:
'zoom.htm?' + new Date().getTime()
尝试检查调试器是否来自缓存。在 Chrome 开发者工具中,它们通常标记为"(来自缓存)"。在Chrome中,您也可以强制禁用缓存。打开开发人员工具,然后单击右下角的齿轮。然后将显示一个叠加层。单击"禁用缓存"。进一步的请求将不使用缓存的对象。
此外,如果您使用的是某种CMS,则可能还希望禁用服务器端缓存(如果可以选择这样做)
另一方面。。。您正在编辑正确的文件吗?您可能正在编辑文件的副本,而不是您尝试检索的文件。一直发生在我身上。
测试获取的 zoom.htm beeing 是否为缓存版本的最简单方法是清除浏览器缓存。例如,Firefox 中的"编辑>首选项>高级:缓存的 Web 内容 => 立即清除"。
然后,假设你的服务器是类似 Apache 的,你可以使用 Header 指令阻止浏览器缓存你的 zoom.htm 文件(即在你的项目目录中创建一个 .htaccess 文件),如下所示:
<filesMatch "'.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
如阿斯卡帕奇所示。希望对您有所帮助。
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- Javascript不需要的关闭行为
- 删除客户端浏览器上不需要的内容
- 不允许在字段中输入不需要的字符
- php函数的XMLHttpRequest响应不包含任何数据
- 不需要的JSON响应
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- jQuery自动完成显示不需要的动态html标记
- 在Knockout js中创建一个包含多行的表,而不需要推送
- AngularJs正在解码HTML字符(不需要)
- jQuery regex从文本链接-添加不需要的域到链接
- 防止从浏览器到应用商店的不需要的重定向
- 外部解析RSS提要,不需要像谷歌和服务器端那样的任何库
- 不需要的异步事件调度
- 是否有任何不需要后端的验证码角度指令
- Ajax 请求给出不需要的响应
- Jquery/javascript:加载页面时不需要的重复函数
- 为什么Java代码需要编译,而JavaScript代码不需要
- 使用 ajax jquery 我想要一条不需要 Ajax 响应的消息