Не обновляет данные каждый раз

#javascript #php #jquery #ajax #checkbox

#javascript #php #jquery #ajax #флажок

Вопрос:

У меня возникла проблема в моем проекте.У меня есть 2 вкладки, и на одной вкладке у меня есть флажки и кнопка отправки, и пользователь выберет из флажков, и при нажатии кнопки он получит то, что он выбрал из флажков на другой вкладке.Он работает отлично.Но иногда он не обновляет данные из ajax, jquery, и мне приходится завершать обновление моей страницы.Я не могу определить проблему, поскольку не получаю никакой ошибки. По крайней мере, мне приходится нажимать более 15 раз, тогда данные не будут обновляться, в противном случае все работает нормально. Вот мой js-код:

 function getFahrzeuge() { 
            var opts = [];
            $("#fahrzeuge input[type='checkbox']").each(function () {
                if ($(this).is(':checked')) 
                {
                opts.push($(this).attr("id"));
                }

            }); 
            return opts;
        } 

        function saveFahrzeugeWidget(opts){

        if(opts.length == 0) return false;

        $.ajax({
          type: "POST",
          url: "ajax/dashboard.php",
          dataType : 'json',
          cache: false,
            data: {'filterOpts' :opts, 'aktion' : 'save-widget-vehicle'},
          success: function(data){
           //getFahrzeugeWidget();
             $('#fahrzeuge').html(data['html']); 

          },
          error: function(data){
                    console.log(data);
              }
        });
      }


      function getFahrzeugeWidget(opts){
        if(!opts || !opts.length){
          opts = allFahrzeuge;
        }

        $.ajax({
          type: "POST",
          url: "ajax/dashboard.php",
          dataType : 'json',
          cache: false,
          data: {filterOpts:opts, 'aktion' : 'get-widget-vehicle'},
          success: function(data){
            $('#fahrzeuge').html(data.html);
          },
          error: function(data){
                    console.log(data);
              }
        });
      }    

      function getFahrzeugeWidgetEdit(opts){
        if(!opts || !opts.length){
          opts = allFahrzeuge;
        }

        $.ajax({
          type: "POST",
          url: "ajax/dashboard.php",
          dataType : 'json',
          cache: false,
          data: {filterOpts:opts, 'aktion' : 'get-widget-vehicle-edit'},
          success: function(data){

             $('#fahrzeuge').html(data.html);
          },
          error: function(data){
                    alert('error'   data);
              }
        });
      }    

      $('#fahrzeuge .butt-rahmen').live('click', function(){
            var opts = getFahrzeuge();
            if($(this).attr('id') == 'saveId')
            {
                    saveFahrzeugeWidget(opts);   
                    if($('#fahrzeuge input[type="checkbox"]:checked').length <=0) {
                                alert('überprüfen Sie bitte atleast ein fahrzeuge');
                                //getFahrzeugeWidgetEdit(opts);
                         }                            
          }

            });  
  

Комментарии:

1. Добавьте временную метку к вашему URL-адресу AJAX, и он должен работать нормально. Просто добавьте <<ВАШ URL>> amp;_<<Временная метка>> и все будет работать так, как ожидалось

2. я пробовал до этого, но все еще сталкивался с той же проблемой…

3. Какой браузер вы используете? Вы пробовали браузеры saveral и все еще сталкивались с той же проблемой кэширования?

4. я использую Firefox… Сейчас я проверю в других браузерах… но я думаю, что проблема где-то в моем коде … по крайней мере, после 15 кликов не удается обновить мои данные … : ( где-то это небольшая проблема…

Ответ №1:

Ответ кэшируется. И вы получаете тот же ответ. Попробуйте добавить новый параметр к данным в качестве метки времени.

Итак, ваши данные должны выглядеть следующим образом.

 data: {'filterOpts' :opts, 'aktion' : 'save-widget-vehicle', 'timestamp': new Date().getTime()},
  

Комментарии:

1. даже раньше я думал, что сожалею, что пытался, но все равно получаю то же самое … я не понимаю, иногда при нажатии кнопки он будет работать нормально, но иногда он не обновляет данные, и в firebug я вижу, что он передаст правильный параметр