2012-04-11 14 views
0

以下は1分ごとにカウントされるが20秒ごとにカウントされるJavaScriptコードです。javascript setInterval json request

var tim = setInterval(doCount, 60000); 
var count = 0; 
var currency = "R$"; 
var stopit = 0; 
function doCount() { 
    stopit++; 
    if (stopit > 30) { 
     $.ajax({ 
     url: "URL", 
     cache: false, 
     dataType: "json", 
     success: function (json) { 
      $.get("URL"); 
     }, 
     error: function (e, xhr) { 

     } 
     }); 
     return false; 
    } 
    count += 1.99; 
    $("#number").html(
     currency + parseFloat(count).toFixed(2).replace(/\./g, ',') 
    ); 
    $.post("URL"}); 
} 
+0

あなたのコードをJSFIDDLEに貼り付けようとしましたが、毎分1回動作しているようです。http://jsfiddle.net/w72R5/ :( –

+0

どのブラウザを使用しましたか?別のブラウザでクロステストしましたか? – powerMicha

+0

実際には私の開発ボックスに期待通りにカウントされますが、ライブサーバーでは問題のサーバーのセットアップやクライアント側とは思わないのですか?またチェクシングされたクロステスト – memo

答えて

0
のような関数内doCountをラップ試してみてください

代わりにあなたに代わって - jqueryプラグインを見てくださいdoTimeout

特に見てpolling examples

-1

私はよくあなたの質問を理解していれば、あなただけの20000(20秒)に60000ミリ秒を変更する必要が

var tim = setInterval(doCount, 20000); 
+0

それはすでに20秒間カウントされており、 1分です。 –

+0

k、今それを得ました:)それは完全に間違っていました。 –

0

この

var tim = setInterval(function() { 
     doCount(); 
}, 60000);