2012-06-24 72 views
0

我使用setTimeout以30秒爲間隔獲取新數據,但它不工作,不知道它在哪裏搞砸了。這裏是我的代碼:setTimeout不是返回值

(function pollmsg() { 
    setTimeout(function() { 
     var demon = $('.msgnotimore').val(); 
     var a = $('.gvpgvpxgvp').val(); 
     $.ajax({ 
      url: 'modules/notifications/beast.php?nid=' + demon + '&id=' + a, 
      success: function (data) { 
       $('.notiloadmsg').append($(data).fadeIn('slow')); 
       alert(data); 
      }, 
      dataType: "json", 
      complete: pollmsg 
     }); 
    }, 30000); 
})(); 

當我試圖提醒demon,它提醒demon後30秒,但數據不會發出警報。

+0

如果縮進你的代碼正確,我們有機會去了解它......謝謝。 –

+0

URL是否返回有效的JSON?如果不成功,則不執行成功回調。 –

+0

在Chrome中,使用Javascript控制檯查看是否發生任何潛在錯誤。 –

回答

3

dataType: "json"不應該被用來獲取HTML時改用"html"

+0

謝謝你的朋友幫助我,雖然這是一個基本的問題,但仍然,你幫助了,謝謝你@Felix Kling也幫助了,bithaway我可以問這是正確的投票方法嗎? –

+0

@SakshiSharma我認爲最好的做法是從回調中設置'setTimeout'以防止非常慢的互聯網連接。 – matt3141