Bob*_*Bob 6 ajax firefox jquery caching
我正在开发一个使用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);
}
});
Run Code Online (Sandbox Code Playgroud)
当发送到服务器的数据发生变化时,我仍然得到相同的结果.我试图避免通过向URL和"缓存:假","新的日期()的getTime()." 这似乎不起作用.重新启动浏览器后,我得到了正确的结果.
有谁知道问题是什么?是否有某种会话处理,所以服务器仍然会回复旧的响应?
编辑:我做了很多测试和调试,我认为我发现了问题:每个包含session-id的ajax-request都保存了一个cookie,因此每次我再次执行请求时,服务器都会发送数据与cookie中的session-id进行会话.真的很糟糕的行为,我不知道可以通过ajax请求创建cookie.因此,解决问题所需要做的就是每次更改参数时都会删除此cookie的函数.再次感谢您的帮助.
你能试试吗?
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
Run Code Online (Sandbox Code Playgroud)
尝试使用Math.random()来更安全
Date().getTime()和Math.random()
http://127.0.0.1/foo/bar/Service?wsdl" + new Date().getTime() + Math.random()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8758 次 |
| 最近记录: |