由於javascript(包括表單提交)是除Ajax調用之外的同步和單線程模型。是對的嗎?但是我面臨着一個關於這個問題的問題。如何使表單提交同步?
我在第1行提交表單,然後關閉彈出窗口。發生什麼事情是self.close在表單提交前被調用。 所以這裏它是以異步模式運行的。表單提交是一個異步過程嗎?如果是的,我怎樣才能使後 表單提交同步的代碼(我不想使用setTimeout和AJAX)
這裏是我的相關JSP代碼
function clickSave()
{
document.form.action="customerAction.do";
document.form.submit();// line 1
self.close();// line 2
}
更新: - ?貌似我需要根據Is form submit synchronous or async?來糾正我自己的表單提交異步過程。所以,問題是,怎樣才能讓self.close同步表單提交
我覺得我可以做的一件事創建self.close script標籤,並返回到同一頁面。它會關閉窗口,那就是我認爲的 – emilly
「我在第1行提交表單,然後關閉彈出窗口,發生什麼事情是self.close在表單提交之前調用。」我的意思是說,調用不會去到服務器,因爲表單提交是異步的,甚至在調用去服務器之前執行self.close。 「所以這可能:)」 – emilly
否:什麼是異步的響應,呼叫總是同步的,並將始終發送到服務器。 當然,如果服務器返回404或任何其他錯誤,您的JS將無法處理它。 –