2013-08-12 2 views
0

У меня проблема со всем элементом с развалом после того, как ajax-call-load в setInterval выполняется немедленно, все свалившиеся автоматически сбрасываются. Должен быть оставлен скомпенсированным, если нет команды свернуть-вЗачем произошло сбой после setInterval ajax load load

Любая идея?

Примечание: Я тестировал, отключив ajax-call-load в setInterval, и все свернутые данные не стали сбрасываться. Bootstrap 2.3.2

Example: 
<div id="totalmessage"></div> 
<div id="totalmessage1"></div> 
<div data-toggle="collapse" data-target="#collout" class="btn btn-small">expand</div> 

<div id="postdata">Click to Post</div> 

<div class="collapse out" id="collout"> 
My collapsed out data and refreshed after postdata clicked 
</div> 

<script type="text/javascript"> 
$('#postdata').click(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
        type : "POST", 
        url : "/comments.php?jfocode=add&ajax=true", 
        data : { content : 1234 }, 
        success : function(data) { 
          //reload data seamesly 
          $('#collout').html(data); 
        } 
     }); 
     return false; 
}); 

setInterval(function(){ 
     $.ajax({ 
      type : "GET", 
      dataType: "json", 
      url : '/message.php', 
      data : 'jfocode=getmsgcount&location=INBOX&status=NEW&ajax=true', 
      success : function(data) { 
       $('#totalmessage').ajaxComplete(function(event, request, settings){ 
        if (data.totalmessage) 
        { 
         $('#totalmessage').html(data.totalmessage); 
         $('#totalmessage1').html(data.totalmessage); 
         if (data.totalmessage > 0) 
         { 
          $('#totalmessage').show(); 
          $('#totalmessage1').show(); 
         } 
         else 
         { 
          $('#totalmessage').hide(); 
          $('#totalmessage1').hide(); 
         } 
        } 
       }); 
      } 
     }); 
     return false; 
    }, 10000); 
</script> 

ответ

0

попробуйте использовать event.stopPropagation(); после успешного вызова ajax для предотвращения сбрасывания с «сбрасывания»

+0

e.stopPropagation(); в #postdata щелчок после успеха ajax не помогает. – Frank

+0

Я нашел проблему и исправил ее. Проблема заключается в ajaxComplete, не нужно использовать это, поскольку ajaxComplete перезагрузит все – Frank

Смежные вопросы