2011-07-19 8 views
0

次の関数を使用して、load()でファイルから情報を取得します。コンテンツが必要以上に読み込まれない場合は、エラーメッセージが表示されます。これは完全に動作しますが、X秒後にリクエストをリロードしたいのです。あなたがエラーで見ることができるようにAJAX:X秒後にエラーが発生したときにload()を再ロード

var tick = function() { 
    $('#fetch-1').hide(); 
    $('#fetch-2').hide(); 
    $('#fetch-3').hide(); 
    $('#fetch-4').hide(); 
    $('#fetch-5').hide(); 
    $('#fetch-6').hide(); 

    $('#fetch-1-error').show(); 
    $('#fetch-2-error').show(); 
    $('#fetch-3-error').show(); 
    $('#fetch-4-error').show(); 
    $('#fetch-5-error').show(); 
    $('#fetch-6-error').show(); 
} 

var loadTimeout = setTimeout(tick, 1000); 
var tack = 1000; 

    $.ajax({ 
     url: '/game/configs/required/jquery-fetch/fetch-1.php?i=<?php echo $row["id"]; ?>', 
     timeout: tack, 
     cache: false, 
     success: function(data) { 
      $('#fetch-tpb-filesize').load('/game/configs/required/jquery-fetch/fetch-1.php?i=<?php echo $row["id"]; ?>'); 
      clearTimeout(loadTimeout); 
     }, 
     error: function(data) { 
      setInterval(function() { 
       $('#fetch-1').show(); 
       $('#fetch-1').load('/game/configs/required/jquery-fetch/fetch-1.php?i=<?php echo $row["id"]; ?>'); 
       $('#fetch-1-error').hide(); 
      }, 1000); 
     } 
    }); 

が、私はそれがリロードさせることを試みたが、それは最初の時間として1秒後に停止しない:私はこれまでのところ行っています。問題を解決する方法を知っている人は誰ですか?

+2

これらのものに共通のclassNameを指定すると、6個の非表示行と6個の表示行は必要ありません。 – epascarello

答えて

2

setIntervalをエラー機能の内側に使用しています。これにより、コードブロックが毎秒呼び出されます。

また、汚い作業のすべてを行うjQueryメソッドを使用しています。タイムアウト:tackを使いたい場合は、もう一度$ .ajaxを使う必要があります。コードとコードとコードをコピーして貼り付けるのではなく、単に関数にして呼び出し直すのはなぜでしょうか。

+0

あなたの答えをありがとう。私はまだjQueryとAJAXがよくないですが、私は学んでいます。この質問は申し訳ありませんが、機能はどのように見えますか? – Erik

関連する問題