Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动浏览器上的本地存储未正确清理_Javascript_Jquery_Html_Jstorage - Fatal编程技术网

Javascript 移动浏览器上的本地存储未正确清理

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 "+$.

这会让我发疯的。这种情况发生在iphone 4S Safari(IOS 6)上,但在任何桌面浏览器上都不会发生

每次在发出新请求之前,我都会刷新jStorage,在警报test1中,正如我所期望的,所有内容都是空的。但第二个警报测试2显示了来自存储器的旧数据,但没有成功函数中接收和设置的“数据

这怎么可能

$.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吗?