2013-05-04 46 views
1

我有一個註冊頁面。ajax - onload和onunload的開始和結束會話

在此頁面上,用戶輸入值由php後端對錶進行異步檢查。

我的問題是數據模型對象相當大;當有人進入頁面(onload)時,通過ajax啓動一個會話是明智的,它會緩存模型對象,以便來自該客戶端的所有其他ajax請求不會最終在每個請求中重新創建數據模型對象。然後,當用戶離開頁面(onunload或其他)時,發送ajax請求會破壞會話。

對我來說這似乎是一個好主意,因爲每個由於用戶與表單交互而產生的異步請求都不會重新創建所有先前創建的對象。

這個工作在實踐中嗎?

(爲我擔憂詳見註釋)

UPDATE:

提出的主要問題是,它會創建一個懸空的會話。這可以通過在會話中放置一個簡單的5分鐘超時來解決嗎?

+0

聽起來很不錯。你爲什麼認爲它*不會工作? – techfoobar 2013-05-04 14:45:10

+0

我擔心的是,我不知道這是一種廣泛採用的做法,如果不是,那麼我擔心therre是不被廣泛採用的一個很好的理由。如果這是有道理的:S – user965369 2013-05-04 14:47:35

+0

For例如衆所周知的onunload不一致,我不知道,可能會導致會話中斷或什麼 – user965369 2013-05-04 14:48:47

回答

0

對於任何想知道的人來說,這被證明是一個難以忍受的可怕想法。原則上可以,但是管理所有會話並確保所有內容與前端保持同步幾乎是不可能的,並且不可擴展,這反過來又使我的控制器結構變得如此複雜以至於調試是一場噩夢(更不用提我了我每次更新開發回購時都必須清除瀏覽器緩存。)。它設法浪費了我大量的時間,並讓我錯過了一些關鍵的期限,最終是一個非常小的開銷的巨大努力。

請不要試試這個。