2016-09-24 140 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实施 –