等待ajax调用完成页面刷新

时间:2015-10-19 06:33:05

标签: ajax asp.net-mvc

我在ajax异步调用中上传文件,但如果在此期间我们刷新页面,它将被中止并且文件不会被上传。 有没有办法让ajax调用在刷新页面之前完成,或者它在后台完成

1 个答案:

答案 0 :(得分: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 ?"); }
};