2011-09-21 46 views
3

在工作中,我們使用一個web應用程序(attask.com)來記錄項目和任務等。它有很多很棒的功能,比如評論和狀態更新認爲即時通訊銷售它!)將多個動作組合在一起的最佳方法(作爲一個事件)

anywho,在網站上,您可以更新項目的狀態,這是通過ajax保存。然後我可以評論這個項目。在這個項目的更新部分中,這兩個動作會一起出現,就好像它們是作爲一個一起執行的...

如果您要執行相同類型的功能,您會怎麼做呢?

我想到的一種方法是在頁面加載時有一個隱藏框並存儲一個GUID。不知道頁面加載。然後,任何ajax調用在發回數據時都會使用此GUID,因此可以按照這種方式對事件進行分組。

但我想聽聽其他人的想法或他們如何去了解它,如果他們不得不這樣做類似的東西

+0

也許你可以澄清兩種行爲何時不會像表現爲一樣?不同的用戶?一段時間後?頁面刷新後?失去某種會話後? – Nux

+0

什麼類型的操作會改變行爲並導致狀態更新和註釋顯示爲兩個不同的更新?例如,更新狀態,瀏覽項目然後回來,然後評論 - 這是否使它顯示爲兩個更新? –

+0

我會研究它,看看是什麼導致它成爲兩個更新 – Steve

回答

1

假設有通過系統的標誌沒有用戶身份的概念,傳遞給一個GUID渲染頁面上的JavaScript變量將提供一個簡單的解決方案。沒有必要在容器內隱藏這樣的東西。

執行操作時,guid將與AJAX請求一起發送。一旦收到一個動作,服務器就可以檢查用戶是否在x秒內發生了一次具有相同GUID的用戶所執行的動作。如果是這種情況,這些行爲將被視爲一對,「飼料」模型將相應更新。

我唯一的經驗是建立一個類似的事件計劃器,它不需要用戶註冊來選擇日曆上的日子。日期的選擇是由AJAX完成的,所以有必要根據加載時傳遞給頁面的guid來確定數據庫中哪個日曆要更新。

還值得注意的是,你並不需要'guid',任何獨特的字符串都可以。

+0

爲什麼他們是一個登錄用戶的重要嗎?僅僅因爲你知道用戶是誰,並不意味着你可以確保這些行爲是一個行爲。或者我錯過了什麼? – Steve

相關問題