0

これは私を夢中にさせます。これは iPhone 4S Safari(IOS 6) で発生しますが、デスクトップ ブラウザでは発生しません。

新しいリクエストを作成する前に、毎回 jStorage をフラッシュします。Alert test1 では、予想どおりすべてが null です。しかし、2 番目のアラート 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() {

        }
    });
4

1 に答える 1

0

STUPID IOS 6 サファリはすべての POST リクエストをキャッシュするため、すべてのリクエストで同じトークンを密かに返します..これは私が長い間見てきた中で最もばかげたことです!

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

iOS 6 の Safari は $.ajax の結果をキャッシュしていますか?

于 2013-01-29T14:13:23.627 に答える