2012-09-01 52 views
1

我剛剛開始使用Ajax開始編程,因此無法使用此工作。Ajax從數據庫中連續提取

這是我到目前爲止有:

var oldAction = ''; 

function updateCheck() { 
    $.ajax({ 
    url: 'check_status.php', 
    success: function (data) { 
     if (data.length != oldAction) { 
     if (data.length == '4') { 
      playSong(); 
     } else { 
      pauseSong(); 
     } 
     } 

     oldAction = data.length; 
    } 
    }); 
} 

setInterval('updateCheck();', 1000); 

有誰知道爲什麼會無法正常工作?

謝謝

+1

使用'如果(data.length.toString()= ='4')'|| 'if(data.length == 4)' – Mironline

回答

2

當然。 length()正在尋找一個整數,但您將它與一個字符串進行比較。

如果oldAction真正需要的是一個字符串,那麼你需要做這樣的事情:

if (data.length != Number(oldAction)) { 
    if (data.length == 4) { 
    playSong(); 
    } else { 
    pauseSong(); 
    } 
}; 
+0

完全非常感謝 – Olokoo

+0

太好了!請接受答案,如果它適合你,讓我知道我是否可以得到進一步的幫助! –

+1

@MatthewPatrickCashatt我不知道爲什麼人們在這裏問一個問題,找到答案甚至投票答案,但忘了接受! – Mironline

1

試試這個:

function updateCheck() { 
    var 
    oldAction = 0, 
    callAjax = function() { 
     $.ajax({ 
     url: 'check_status.php', 
     success: function (data) { 
      if (data.length != oldAction) { 
      (data.length == 4) ? playSong() : pauseSong(); 
      } 

      oldAction = data.length; 
     } 
     }); 
    }; 

    setInterval(callAjax, 1000); 
} 

updateCheck(); 

​