2016-03-21 31 views
1

私は、ajaxメソッドを使用してPHPファイルを呼び出し、更新があるかどうかを調べるJQueryコードを持っています。 更新がなければ、タイマー機能が起動し、5秒ごとに更新のためにPHPファイルが絶えずチェックされます。 私はその機能を働かせることができましたが、タイムラップは速すぎます。私は間隔の速度を変更しても、それは何の変化も示さない別のパラメータに変更しました。 私のjqueryのコードは次のとおりです。<div id="newcustomer"></div>JQuery setTimeoutは常に関数を複数回呼び出す

偽 のための真の <div id="newcustomer">Update Found</div>

PHPファイルの戻り値のため

function CheckCallerID(){ 
    $.ajax({ 
     type: 'POST', 
     url: "code/PHPFILE.php", 
     data: "",     
     success: function(data) { 
      //ajax returns Below HTML CODE 
      $('#caller').html(data); 

      if($('#newaddressdetails').html().length==0){ 
       var timmer = setTimeout(CheckCallerID(),50000); 
      }else{ 
       SaveAddress(); 
      } 
     } 
    }); 
} 

PHP FILEの戻り値は、事前にありがとうございます。 -

答えて

5

閉じるあなたは、呼び出される関数渡すとき()を省略する必要があります:あなたはそこに()を維持すると

var timmer = setTimeout(CheckCallerID,50000); 

を - それはすぐに関数を実行します。

+0

はい、setTimeoutには関数の名前が必要です。 '()'がまだここにある場合、関数が実行され、setTimeoutは、関数の戻り値を、タイムアウトの実行後に呼び出す関数の名前として使用します。 – Loufylouf

+0

迅速な応答ありがとう –

+0

小さな詳細、何かも、おかげで学んだ! – Jer

関連する問題