2015-10-19 54 views
0

我上傳的AJAX異步調用的文件,但如果在我們刷新頁面,它就會被中止,文件不會被上傳。 有沒有什麼辦法讓刷新頁面之前完成Ajax調用,或者它在後臺完成等待Ajax調用來完成對頁面刷新

+0

刷新頁面理想地中止ajax請求。 你可以做的是,把一個警告消息在jQuery來確認用戶是否要中止我不希望用戶得到警報的請求或不 –

回答

0

這兩個請求都不會在後臺完成,也不能阻止用戶關閉或刷新頁面。 使用全局JavaScript變量來確定ajax調用是否完成。

var fileUploadComplete = false; 

// executed on completion of last outstanding ajax call. 
$(document).ajaxStop(function() { 
    fileUploadComplete = true; 
}); 

window.onbeforeunload = function (event) { 
    if (fileUploadComplete) { 
     return true; 
    } 
    else { return confirm("Files are being uploaded, Are you sure want to cancel ?"); } 
}; 
+0

,反而是卸載系統等待所有的Ajax調用才把它可能完成? – Diana

+0

我不認爲有一種方法,你可以從阿賈克斯得到前關閉所有強制頁面。儘管您可以確定ajax是否已完成,並據此進行操作。我已經更新了我的答案。 –