2011-09-30 210 views
0

在這個問題上的一些更多的人都有所涉獵和非Ajax的場景時,爲防止多個插件已經有一個解決方案: How to prevent multiple inserts when submitting a form in PHP?如何提交Ajax表單

(回答1月25日在'10 17:02)

我想知道如何才能在服務器和客戶端都爲以下問題類似的解決方案能夠高效地實現

  • 有一堵牆上市containin在其上用戶可以點擊「我喜歡」支持Ajax的按鈕(不重新加載頁面)G多個項目
  • 用戶可以擁有多個瀏覽器窗口打開了,可以點擊「我喜歡」預計按鈕

: 只有第一次點擊任何牆上項目的「我喜歡」按鈕纔會在服務器端進行考慮,並且以下對牆項目的請求不再處理。

回答

0

跟蹤每個用戶在服務器端的喜歡項目(例如一個額外的數據庫表)。如果要插入新的類似內容,請檢查此表中是否已有一條記錄。如果有,用戶已經喜歡這個項目,你不必再數它了。

+0

當請求在同一時間提交時,對於給定的項目,數據庫中沒有「保存」狀態,將會執行2次「我喜歡」操作的保存。 –

0

我認爲最好的方法是使用存儲當前狀態的會話變量,即當有人點擊你「我喜歡」,在服務器端,你檢查SESSION var的狀態。

+0

當請求在同一時間提交時,對於給定的項目,會話中沒有「保存」狀態,將執行「我喜歡」操作的保存的2倍。 –