jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery ajax缓存禁用无法正常工作?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个使用ajax-request来检索信息的Firefox扩展.这是代码
$.ajax({
        url: "http://127.0.0.1/foo/bar/service?wsdl" + new Date().getTime(),beforeSend: function(request) { request.setrequestHeader("SOAPAction","Group"); },async: false,cache: false,type: "POST",dataType: "xml",data: req,contentType: "text/xml; charset=\"utf-8\"",success: function (data,textStatus,xmlhttprequest) {
        out = $(xmlhttprequest.responseXML);
        }
    });

当发送到服务器的数据发生变化时,我仍然得到相同的结果.我试图通过向URL添加“new Date().getTime()”和“cache:false”来避免这种情况.这似乎不起作用.重新启动浏览器后,我得到了正确的结果.

有谁知道问题是什么?
是否有某种会话处理,所以服务器仍然会回复旧的响应?

编辑:我做了很多测试和调试,我认为我发现了问题:每个包含session-id的ajax-request都保存了一个cookie,因此每次我再次执行请求时,服务器都会发送数据与cookie中的session-id进行会话.真的很糟糕的行为,我不知道可以通过ajax请求创建cookie.
因此,解决问题所需要做的就是每次更改参数时都会删除此cookie的函数.再次感谢您的帮助.

解决方法

你能试试吗?
$(document).ready(function() {
  $.ajaxSetup({ cache: false });
});

尝试使用Math.random()来更安全

Date().getTime()和Math.random()

http://127.0.0.1/foo/bar/service?wsdl" + new Date().getTime() + Math.random()

大佬总结

以上是大佬教程为你收集整理的jQuery ajax缓存禁用无法正常工作?全部内容,希望文章能够帮你解决jQuery ajax缓存禁用无法正常工作?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。