2009-07-27 107 views
3

如何在stackoverflow上發表評論?如何在stackoverflow上發表評論?

我的意思是更具體地說,我使用php/mysql如何在不重新加載頁面的情況下添加註釋,我知道這是一個使用AJAX的簡單流程,但是當您發佈評論時,它也有選項刪除它,當我插入註釋到我的數據庫那裏ID號是自動增量,所以我現在真正的問題是現在的

在發表評論後,是評論張貼,只是添加到一些JavaScript的頁面追加內容到頁面

它使用AJAX檢索t您剛剛發佈的評論,然後將其顯示在頁面上?

我想知道的原因是因爲我的系統使用自動遞增ID,那麼如果我這樣做的第一種方法會更快,只是廣告我提交的內容,但這種方法不會給我的ID是能夠通過刪除ID號

希望是有道理的評論需要

UPDATE 我下面貼我現在想讀其他職位上這裏

+0

讓我在頁面上任何評論發表評論ID測試評論:D – Ata 2013-01-27 15:11:55

回答

0

UPDATE

這裏閱讀答案後是我的基本想法,我不知道該怎麼寫javascrpt但你會得到的設計流程理念:

POST comment input to script with AJAX {  
    if commentID is returned{ 
     Insert comment DIV into page, userID and userPicture are in a user session variable and commentID is returned from ajax post 
    }ELSE IF error is returned{ 
     Insert an error message DIV into page 
    } 
} 

然後評論div或任何 插入將包括
- 來自會話變量的用戶名
- 用於鏈接到那裏的會話變量的用戶ID簡介
- 從會話變量用戶圖片
- 允許用戶刪除評論

然後刪除該用戶發佈的

POST comment ID and userID to DELETION script with AJAX {     
    if commentID is deleted{ 
        REMOVE comment DIV from page 
    }ELSE IF error is returned{ 
        Insert an error message DIV into page 
    } 
} 
5

我要去後在一個肢體上,並說這是正確的在兩者之間。評論的內容只是從你輸入的內容中發佈而來...

...但是頁面等待追加你的評論直到AJAX魔術發生,並且頁面有你的新評論的ID。

(應該讀:這是我會怎麼做,如果我是你...快,重量輕,功能)

+0

這對我來說更有意義知道,其實這聽起來真的很容易與jquery,我喜歡當複雜的事情變成非常基本的 – JasonDavis 2009-07-27 21:32:49

2

我的猜測是,該網頁確實一個AJAX後添加評論後,它等待來自服務器的響應,該服務器給出該響應的註釋ID,然後根據返回的ID進行另一個AJAX調用以呈現註釋。如果你想在不從服務器取回評論的情況下做到這一點,那麼你絕對可以通過javascript添加評論。然而,像用戶配置文件鏈接可能有點乏味注入。

編輯: 更簡單的方法是讓第一個AJAX調用返回呈現整個評論所需的HTML,然後將該響應直接插入到頁面中。這將消除2個AJAX調用的需要。

+0

你提出了一個好點...我最初贊成賈斯汀N iessner的回答,但現在我正在與你同行。 +1 – rmeador 2009-07-27 21:07:50

1

我會嘗試這樣使用jQuery:

 
function commentSubmit() 
{ 
    $.post('/ajax/comment',{comment:$('#comment').val()},function(d){ 
    if(d is error) alert(d); 
    else $('#allcomments').append(d); 
    }) 
} 

其中d可以是錯誤消息或HTML與評論。

0

我會做一個PHP腳本的ajax請求,它會將註釋添加到mysql數據庫。 ajax回調將檢索標識並將評論直觀地添加到頁面中(無需重新加載)。刪除按鈕會對PHP腳本執行另一個Ajax請求,將ID傳遞給腳本。回調會從頁面中刪除評論。

0

如果您希望能夠刪除評論,您必須與服務器通信,因此您必須使用ajax。只需將評論發送到服務器,等待返回的評論ID,然後將評論格式化爲一些HTML,在新HTML(可能在刪除評論的鏈接)和wala中隱藏新評論ID。