2016-11-23 6 views
0

私はまだJQueryを初めて使用しています。一定の時間が経過すると、挿入されたデータをロードするためにsetTimeoutを使用しました。私はこの問題についての例と答えを試しましたが、何も効果がありませんでした!何らかの理由でJQueryのsetTimeoutが機能しない

私は間違っていますか?

<script> 
    $(document).ready(function(){ 
     function fetch_data(){ 

      $.ajax({ 
       url:"getdata.php", 
       success: function(data){ 
        $('.result').html(data); 
       } 

      }); 
     } 
     fetch_data(); 

     setTimeout(function() { 
      fetch_data(); 
     }, 2000); 


    }); 
</script> 
+0

上記のコードは書かれているとおりに動作しています。すぐに 'fetch_data'を呼び出し、2秒後にもう一度呼び出します。 – LoganRx

+0

正常に動作します。あなたはjQueryライブラリを含んでいますか? – Anson

+0

どのように動作すると思いますか?それはうまく見えます。 – sideroxylon

答えて

0

setIntervalを使用してください。ここにあなたが必要とするコードがあります。

はJavaScript

$(document).ready(function(){ 
    function fetch_data(){ 

     $.ajax({ 
      url:"getdata.php", 
      success: function(data){ 
       $('.result').html(data); 
      } 

     }); 
    } 
    fetch_data(); 

    setInterval(function() { 
     fetch_data(); 
    }, 2000); 
}); 
0

あなたのコードは正しいと思われます。 私は問題がjQuery.ajax呼び出しにあると思うので、 "失敗"を返すと思います。 「エラー」メソッドを追加し、次のようにテストしてください。

$(document).ready(function(){ 
    function fetch_data(){ 
     $.ajax({ 
      url:"getdata.php", 
      success: function(data){ 
       $('.result').html(data); 
      }, 
      error: function(xhr, textStatus, errorThrown){ 
       alert('request failed'); 
      } 
     }); 
    } 

    fetch_data(); 

    setTimeout(function() { 
     fetch_data(); 
    }, 2000); 
}); 
0

あなたのコードは大丈夫縫い目。 しかし、コードfetch_dataでは、関数が2回呼び出されます。

fetch_dataに2秒後に電話する必要がある場合のみ。宣言後にfetch_data();コールを削除します。

次のサンプルは、それを明確に説明します。

$(document).ready(function(){ 
 
    function fetch_data(){ 
 
    $('#message').append('<p>called fetch</p>'); 
 
    } 
 

 
    fetch_data(); 
 

 
    setTimeout(function() { 
 
    fetch_data(); 
 
    }, 2000); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<div id="message"></div>

上記の回答で述べたように、それは、Ajaxリクエストに失敗する問題である可能性があります。だから、ajaxコールが正常に動作することを確認してください。

関連する問題