2009-09-23 43 views
2

在我的Web應用程序中,我提供了一個鏈接,點擊其中的一個鏈接,顯示一些數據,彈出一個頁面,然後使用javascript back()函數返回。POST表單提交後使用Javascript後退功能

它工作正常,但在某些情況下失敗。例如,此鏈接也會在表單提交後出現。當在此調用back()函數時,會顯示Webpage Expired消息,因爲它是POST操作。

如何在這種情況下使用javascript返回上一頁?

請提供您的投入...

回答

1

你不能做的JavaScript頁面過期什麼 - 這是瀏覽器如何選擇只保護用戶免受重新提交表單意外。

根據應用程序的工作方式,您可以使用POST/Redirect/GET approach,以確保用戶在提交表單後始終登錄GET,因此您始終有一個有效的狀態返回。

說實話,在JavaScript中使用back()功能的時間有99%表明底層方法有些問題。正如你在這裏看到的那樣,問題太可怕了。如果你開始一個新的問題來描述你想要完成的事情,你可能會更進一步。在這裏有一個真正聰明的人的很多誰可以把他們的頭腦一起,幫助你想出一些東西。

0

你能解釋爲什麼你需要使用客戶端腳本導航到上一頁?我假設這是因爲用戶可能會從各種其他頁面到達此頁面,並且希望將其引導回它們來自的頁面。您始終可以將用戶的上一頁網址存儲在會話或緩存對象中,並將其引導回服務器端代碼中的該URL。或者,如果您知道他們將始終來自哪裏,請將其引導回靜態網址。如果您提供更多詳細信息,我可能會提供更多幫助。

+0

是的,用戶可能來自其他各種網頁,我想引導他們回到以前的網址。我正在編輯的頁面是portlet的一部分。因此,在執行此portlet時,標題數據已經發送。所以我不能通過檢查引用提供服務器重定向。 – jobinbasani 2009-09-24 21:24:26