2011-04-22 50 views
0

我想知道如何每10秒鐘將數據加載到指定div'#load'而無需執行整個window.settimeout。Jquery通過settimeout將數據加載到div

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

我認爲你不得不調整一下代碼:

  • 你不必附加每次調用函數時調用Ajax document.ready。反之亦然。
  • 不要將字符串傳遞給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 2011-04-22 08:20:47

相關問題