2014-02-13 23 views
0

使用PHP評論系統。評論系統 - 在沒有頁面重新加載的情況下顯示發佈的評論

一切正常,插入,驗證和ajax調用。

目前,我正在對容納頁面內容的容器做一個.load()。

但是,這會在嘗試重新發布評論時導致問題。 JavaScript does not工作,一些與評論鏈接的JavaScript函數也不工作,並像這樣的小事情。

我應該如何處理評論,每次用戶發佈一條評論。

像在facebook上舉例說明的那樣,您發佈了評論,而新評論只放在最後一個評論的下面。

我只能想到我使用.append()並將新評論追加到列表中。

在我的PHP頁面中,我可以設置用戶名,評論,用戶個人資料圖片等的JSON返回,然後將所有數據追加回來?

否則是否有更好的方法,只需在成功調用ajax後「重新加載」div容器?

謝謝,我有工作......但我想學習的東西正確的方式。

克雷格。

+1

代碼在哪裏? – Subin

+0

您嘗試運行的javascript是否由'.load()'加載?如果是這樣,您的腳本拉入的JavaScript沒有綁定到頁面。 – Newbi3

回答

0

您可以使用$ .ajax加載新註釋並使用.append()或prepend()在容器中插入新註釋。如果您將呼叫包裝在一個功能中,您可以反覆調用該功能(例如每2秒鐘)以檢查新評論。

如果我沒有記錯的話.load()只會在瀏覽器刷新後元素準備就緒時執行。

什麼東西不起作用?請記住,事件和數據必須在成功的AJAX調用後綁定。這意味着如果您在加載頁面時將事件綁定到鏈接,則顯然仍然有效。但是,如果您稍後插入鏈接,則不會有任何事件。

我通常會做的是這樣的:

$.ajax({ 
    url: 'ajax.php', 
    data: { 'parameters': 'yada yada' }, 
    dataType: 'json', 
    success: function(data) { 
     $('.links').unbind().click(function() { alert('hello!'); }); 
    } 
}); 

的原因.unbind()是你,否則將綁定在現有的聯繫幾個事件 - 你不希望出現這種情況; - )