2016-01-07 54 views
0

我的情況與其他問題不同。我有一個與此代碼的div <div id="ondiv"><?php ?></div>ajax自動刷新div值其他版本

在那裏php是在線的人。當用戶登錄時,div將刷新並能夠看到剛剛登錄的人。我已經嘗試過上面這個問題的代碼。

$(document).ready(function(){ 
setInterval(function(){ 
$("#oldiv").load("chat.php"); 
}, 2000); 
}); 

',但它確實是重新加載頁面,它顯示在我的div是chat.php的整個頁面。我想要的只是刷新div來顯示剛登錄php代碼的用戶。

+0

嘗試加載$(「#oldiv」)中的document.URL +'#thisdiv'load(document.URL +'#thisdiv'); – DpEN

+0

如果您正在構建一個聊天系統,我強烈建議您着眼於使用基於AJAX輪詢模式的websockets。 –

回答

0

參考的jQuery的加載方法:http://api.jquery.com/load/

它需要內部#oldiv chat.php和地點的內容。

你可以改變你的chat.php或創建一個新文件來實現你所需要的。

0

我假設你有一個容器(div)chat.php它擁有所有在線用戶。

您只能在目標元素中加載fragment from the page

$.get()不同,​​方法允許我們指定要插入的遠程文檔的一部分。這是通過url參數的特殊語法實現的。如果字符串中包含一個或多個空格字符,則將第一個空格後面的字符串部分假定爲用於確定要加載的內容的jQuery選擇器。參考this

試試這個:

$(document).ready(function() { 
    setInterval(function() { 
    $("#oldiv").load("chat.php #container_which_holds_online_user"); 
    }, 2000); 
}); 
1

.load()真的只可用在呼叫只會導致HTML。如果我是你,我會用Ajax做到這一點:

$(document).ready(function(){ 
    setInterval(function(){ 
     $.ajax({ 
      type: 'post', 
      url: 'chat.php', 
      success: function(data) { 
       $("#oldiv").html(data); // or ondiv, didn't get it 
      } 
     }); 
    }, 2000); 
}); 
+0

'chat.php'不會返回解析的html .. – Rayon