jquery
  • mysql
  • ajax
  • 2013-04-15 78 views 0 likes 
    0

    我有一個類似於FaceBook的系統,其中帖子是從MySQL中的表格自動更新的。目前,它只是每隔10秒刷新一次div。下面是代碼:Ajax淡入淡出MySQL的新結果

    <script type="text/javascript"> 
         var auto_refresh = setInterval(
         function(){ 
          $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow"); 
         }, 10000); 
    </script> 
    

    我想只更新DIV如果在MySQL表中的新行,新的結果淡入 有沒有一種方法可以做到這一點?我到處搜索,並嘗試了一切,但似乎沒有任何工作。

    +0

    你是否搜索與ajax一起推送通知? – Imperative

    +0

    我有,找不到任何東西... – user2282133

    回答

    1

    谷歌長輪詢是一種方式去做關於它的任何語言你的服務器編程使用的語言的研究。我使用java和comet api。

    +0

    沒有IE瀏覽器,那麼將有偉大的網絡套接字API,但...: -/ – kuncajs

    +0

    我做了嘗試,但我找不到它。如果數據庫中有新的東西,我只想更新div。 – user2282133

    0

    我發現如何去做。如果任何人有同樣的問題,這裏是我用什麼:

    var cacheData; 
    var data = $('#refresh').html(); 
    var auto_refresh = setInterval(
    function() 
    { 
        $.ajax({ 
         url: 'index.php', 
         type: 'POST', 
         data: data, 
         dataType: 'html', 
         success: function(data) { 
          if (data !== cacheData){ 
           //data has changed (or it's the first call), save new cache data and update div 
           cacheData = data; 
           //$('#refresh').fadeOut("slow").html(data).fadeIn("slow"); 
           //$('#refresh').fadeOut("slow").load('index.php?_=' +Math.random()+' #refresh').slideDown("slow"); 
           $('#refresh').fadeOut("fast"); 
           $('#refresh').load('index.php?_=' +Math.random()+' #refresh'); 
           $('#refresh').fadeIn("slow"); 
          }   
         } 
        }) 
    }, 1000); 
    
    相關問題