2016-09-24 139 views
-4

函數NotifyMe()僅執行一次超時。怎麼修?爲什麼setTimeout只執行一次?

$(document).ready(function(){ 
 
var mydata = []; 
 
$.ajax({ 
 
    url: '3.php', 
 
    async: true, 
 
    dataType: 'json', 
 
    success: function (json) { 
 
    mydata = json.result; 
 
    if (mydata=="yes") 
 
    { 
 
     //notifyMe(); 
 
     setTimeout(notifyMe, 1000); 
 
    } 
 
    } 
 
}); 
 
});

+0

你期望它被稱爲多少次? 'setTimeout'安排__執行,'setInterval'安排每個節拍的執行。 – vlaz

+0

可以使用console.log(mydata)打印什麼是mydata的值;成功了嗎? –

+0

爲什麼你首先在你的ajax成功回調中有超時?我不確定你想要發生什麼。 ajax調用只發生一次,因此您不需要多次通知它。如果您想繼續發送ajax調用,則需要將ajax調用放入傳遞給setInterval的函數中,以使其不斷調用。 – Jecoms

回答

2

嘗試使用的setInterval,而不是setTimeout的。

+0

沒有setTimeout是正確的,他一次又一次地以遞歸的方式調用它 –

+0

notifyMe裏面有什麼? –

+0

是的好,抱歉,我認爲它是相同的ajax實施 –