2011-04-22 5 views
0

전체 window.settimeout을 수행하지 않고도 지정된 div '#load'에 10 초마다 데이터를로드 할 수 있는지 궁금합니다.JQuery 데이터를 div로 settimeout으로 변환

function load_data() { 
    $(function() { 
    var timer = 10000; 

    $.ajax({ 
     type: 'POST', 
     url: 'ajax.php', 
     dataType: 'html', 
     data: strData, 
     success: function(data) { 
      $('#load').html(data); 
      window.setTimeout("load_data()", timer); 
     } 
    }); 
}); } 

미리 감사드립니다.

답변

2

난 그냥 코드를 조금 구조 조정을한다고 생각 :

  • 당신은 document.ready에 Ajax 호출 함수를 호출 할 때마다 첨부 할 필요가 없습니다. 그 반대도 마찬가지입니다.
  • 문자열을 setTimeout으로 전달하지 마십시오.

예 :

$(function() { 
    var timer = 10000; 
    function load_data() { 
     $.ajax({ 
      type: 'POST', 
      url: 'ajax.php', 
      dataType: 'html', 
      data: strData, 
      success: function(data) { 
       $('#load').html(data); 
       setTimeout(load_data, timer); 
      } 
     }); 
    } 
    load_data(); 
    // or if you also want to defer the initial load: 
    // setTimeout(load_data, timer); 
}); 

당신이 setTimeout을 피하려는 이유가 이해가 안 돼요.

+0

많이 개선되었습니다. 감사합니다. :) – user558134