[英]Cancel form.submit()
在javascript函數中,我以以下形式提交:
form.submit();
,
擁有大量數據
除了單擊瀏覽器的停止按鈕,是否可以取消此操作?
更新:
也許我沒有明確表示自己正在提交大文件。
在iframe中運行的帶有uploadcontrol的表單。
您可以執行類似Gmail的操作:撤消發送郵件(實驗室功能)。
它只是將郵件發送延遲了5秒鍾。 如果在那段時間內服務器收到undo
AJAX呼叫,則不發送郵件。
這可能會增加服務器端的復雜性,但幅度不大。
在未發送信息的情況下,您可以使用以下方法 :
//IE
document.execCommand('Stop');
//Firefox
window.stop();
所以整個事情看起來像這樣(偽代碼):
stop_submit(current_id){
try{
document.execCommand('Stop');
}catch(e){}
try{
window.stop();
}catch(e){}
AJAXCall("/myfolder/cancel_submit/", "id="+current_id, "post");
return;
}
這是客戶端-服務器體系結構的經典問題。 發出HTTP請求后,就無法停止它了。 在所有請求之后,您將需要一種恢復狀態的方法,以確保一切恢復原狀。
現在,您可以使用AJAX並使用abort
功能。 或者,您可以嘗試window.stop()
或document.execCommand("Stop")
,具體取決於您的瀏覽器。 但是那些不能解決請求已經發送的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.