1

jquery モバイル アプリケーションに奇妙な問題があります。以下のスクリーン ショットは、Chrome デベロッパー ツールのスナップショットからのものです。

画像

追加したにもかかわらず、ページまたはスクリプトがキャッシュされるのはなぜですか

 $.ajaxSetup ({
            cache: false
        });

ulまた、 my > lihave setをロードするすべての ajax 呼び出しでもcache:false

このシナリオをどのように克服できるか教えてください。クリックするたびにモバイルキャッシュが大きくなり、気が狂いそうになります。

ありがとう

更新

クリックして別のページに移動するたびに、このスクリプトが実行されます。

$('body').on('click', '.menuClass', function(e) {
e.preventDefault();
e.stopImmediatePropagation();
var menuid = $(this).attr('id');
if (menuid == '100001') {
    settings.get('setval', function(obj) {
        if(obj.value.tableMode == "1"){
        $.mobile.changePage('categories.html', {
            transition : "slide"
        });
        return false;
        }
        else{
         $.mobile.changePage('index.html', {
                        transition : "slide"
                    });
        }
     });
   }
 });

ただし、何らかの理由で、クリックするたびにcategories.htmlのURLが読み込まれ、URLが以下に変更されます

   http://localhost:8080/categories?_=1347279588477
   http://localhost:8080/categories?_=1347279584203
   http://localhost:8080/categories?_=1347279688227
4

1 に答える 1

0

cache:false が機能しない理由はわかりませんが、ajax ページのキャッシュを防ぐために、時間作成文字列を追加しています。

&ts="+ new Date().getTime()url の末尾に追加してこれを行います。

これが私の使用法です。

$.ajax({
       type: "GET",
       url: "ajax.php?ajax_file=ajax_table_page&ts="+ new Date().getTime(),
       success: function(data){
       ..................
       }
});

また、これを使用してajaxエラーを追跡します(ドキュメントの準備ができたら追加できます)

$.ajaxSetup({
  error:function(x,e){
       if(x.status==0){
       alert('You are offline!!\n Please Check Your Network.');
       }else if(x.status==404){
       alert('Requested URL not found.');
       }else if(x.status==500){
       alert('Internel Server Error.');
       }else if(e=='parsererror'){
       alert('Error.\nParsing JSON Request failed.');
       }else if(e=='timeout'){
       alert('Request Time out.');
       }else {
       alert('Unknow Error.\n'+x.responseText);
       }
  }
  });
于 2012-09-10T10:08:33.170 に答える