2010-10-05 49 views
0

我有一個大網頁(傳統的ASP)有很多來自用戶所需的信息,大量的投入。用戶的行爲是他會在提交之前隨着時間填寫信息,分析它和其他耗時的過程。問題是,即使會話超時設置爲一個合理的30分鐘,我常常抱怨提交時,用戶獲得的超時消息,並失去了所有的工作,都是他之前填充。我認爲如果會話被放棄,檢查提交事件將會很優雅,在這種情況下會出現登錄表單。通過同步使用Ajax,會話檢查和登錄本身,網頁的狀態將保持不變,允許用戶在會話恢復後繼續提交。AJAX同步(SJAX)恢復

不過,我一直在閱讀有關的同步的危險,以及它是如何建議,以避免可能的情況下。對我來說,這似乎是需要同步的那些情況之一,但我沒有找到任何曾經這樣做過的人。 我找諮詢這是否是行動的一個很好的過程中,使用Ajax同步的會話恢復。

謝謝。

回答

0

有沒有必要在這裏做一個同步請求。您可以取消表單提交(從提交處理return falseevent.preventDefault()),啓動異步的XMLHttpRequest做檢查,然後在AJAX響應處理器無論是顯示一個消息或重新啓動表單提交(form.submit())爲適當。

我建議30分鐘可能不是一個合理的會話超時,如果它導致這些問題。更長的超時時間和/或使表單ping服務器以使會話保持活動狀態可能對用戶來說更方便。