Javascript 移动浏览器上的本地存储未正确清理
这会让我发疯的。这种情况发生在iphone 4S Safari(IOS 6)上,但在任何桌面浏览器上都不会发生 每次在发出新请求之前,我都会刷新jStorage,在警报test1中,正如我所期望的,所有内容都是空的。但第二个警报测试2显示了来自存储器的旧数据,但没有在成功函数中接收和设置的“数据” 这怎么可能Javascript 移动浏览器上的本地存储未正确清理,javascript,jquery,html,jstorage,Javascript,Jquery,Html,Jstorage,这会让我发疯的。这种情况发生在iphone 4S Safari(IOS 6)上,但在任何桌面浏览器上都不会发生 每次在发出新请求之前,我都会刷新jStorage,在警报test1中,正如我所期望的,所有内容都是空的。但第二个警报测试2显示了来自存储器的旧数据,但没有在成功函数中接收和设置的“数据” 这怎么可能 $.ajaxSetup({ cache: false }); $.jStorage.flush(); localStorage.clear(); alert("Test1 "+$.
$.ajaxSetup({ cache: false });
$.jStorage.flush();
localStorage.clear();
alert("Test1 "+$.jStorage.get('token')+"tu:"+$.jStorage.get('user'));
$.ajax
({
type: "POST",
url: "rs/user/token",
async: false,
cache: false,
beforeSend: function (xhr){
},
success: function (data){
$.jStorage.set('token', data);
$.jStorage.set('user',username);
changemenu('menu.html');
alert("Test2 "+$.jStorage.get('token')+"tu:"+$.jStorage.get('user'));
},
error: function() {
}
});
原来它与本地存储无关,愚蠢的IOS 6 safari缓存所有POST请求,因此它会在每个请求上秘密返回相同的令牌。这是我很久以来看到的最愚蠢的事情
您是否尝试过不使用jquery插件?因为即使没有插件也很容易使用,所以我建议您尝试设置一个简单的问题复制。解决方案很可能会出现,并且更容易回答。@Spring我的意思是:编写尽可能简单的代码来复制该行为。可能是浏览器忽略了缓存标志……您确定您遇到问题的浏览器支持localstorage吗?