移动浏览器上的本地存储无法正常清理

时间:2013-01-29 10:18:21

标签: javascript jquery html jstorage

这会让我发疯。这种情况发生在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() {

        }
    });

1 个答案:

答案 0 :(得分:0)

原来它与本地存储没什么关系, STUPID IOS 6 safari缓存所有POST请求,所以它在每个请求上都秘密地返回相同的令牌。这是我见过的最愚蠢的事情时间!

http://arstechnica.com/apple/2012/09/developers-claim-safari-in-ios-6-breaks-web-apps-with-aggressive-caching/

Is Safari on iOS 6 caching $.ajax results?