这会让我发疯。这种情况发生在iphone 4S Safari(IOS 6)上,但在任何桌面浏览器上都不。
每次我发出新请求之前,我都会刷新jStorage,在Alert test1上,一切都是空的,正如我所料。但第二个警报Test2显示来自存储的旧数据,但 成功函数中收到并设置了数据 >
这怎么可能?
$.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() {
}
});
答案 0 :(得分:0)
原来它与本地存储没什么关系, STUPID IOS 6 safari缓存所有POST请求,所以它在每个请求上都秘密地返回相同的令牌。这是我见过的最愚蠢的事情时间!