在其上有多個表單的Web應用程序上,如果您單擊移至另一個頁面的選項,我們會通過調用$.post(window.location.pathname, options, saveReturn, 'json');
來保存任何未保存的內容,然後轉到通過設置一些參數並調用form.submit();
來設置新頁面。這通常工作正常,但在我們客戶的生產服務器(當然不是他們的測試服務器)上,似乎並沒有發生$.post
的操作 - 應該保存到數據庫的內容不會被保存。我有一位客戶技術支持人員運行螢火蟲會話,$.post
命令觸發的POST顯示爲紅色,並且沒有「響應」標題。
是否有某種競爭條件導致我們在POST完成之前離開頁面?是否有一些方法可以等待POST完成,但缺少使saveReturn
函數負責form.submit()
?我寧願不將該功能添加到saveReturn
,因爲如果使用「保存」按鈕手動保存他們的工作,則會完成相同的$.post
調用。
看起來它會涉及一些手術的方式。但我喜歡「完整」功能的想法。 –
順便說一句,我發現在末尾添加.success和.complete這個功能只適用於JQuery 1.5和更新版本。 –