2014-07-27 133 views
0

我採取了正常的javascript倒計時,並在倒計時結束ajax請求應將數據保存到數據庫。jquery ajax發送數據雙php到

好的這個工程,但它保存了兩次輸入。有什麼建議,爲什麼它節省了一倍? (對不起,我的英語我是德國人)

var countdown = <?php echo $aufendhalt;?>; 
function count() 
{ 
    countdown = countdown - 1; 
    if(document.getElementById("counter")) 
    { 
     if(countdown <= 0) 
     { 
      // Funktion 
      document.getElementById("counter").innerHTML = "N&auml;chste Kampagne wird geladen"; 
      var datastring = { 
       ip: <?php echo json_encode($ip)?>, 
       uid : <?php echo json_encode($uid) ?>, 
       tan : <?php echo json_encode($tan) ?>, 
       reload : <?php echo json_encode($reload) ?>, 
       verdienst : <?php echo json_encode($verdienst)?>, 
       preis : <?php echo json_encode($preis) ?> 
      }; 

      $.ajax({ 
       type: 'POST', 
       url: 'http://xxxxxxxxxxx.de/xxxxxxxxxx/xxxxxxxxxx.php', 
       data: datastring, 
       //success: function(data){ 
        // $('#result').html(data); 
       //} 
      }); 
     } 
     else 
     { 
      document.getElementById("counter").innerHTML = countdown; 
     } 
    } 

    if(countdown >= 0) 
    { 
     setTimeout("count()",1000); 
    } 
} 

count(); 

親切的問候

回答

0

替換此:

if(countdown >= 0) 
{ 
    setTimeout("count()",1000); 
} 

與此:

if(countdown > 0) 
{ 
    setTimeout("count()",1000); 
} 
+0

原因是因爲它調用請求一次「大於」,然後第二個「是」很好知道 – Dave

+0

在你的原始代碼中,如果'countdown'等於零,那麼你認爲d再次執行'count()'函數,從而導致AJAX調用被執行兩次。 – lowerends