在重定向之前使页面等待提交完成

时间:2012-04-18 13:49:09

标签: jquery asp.net-mvc-3 asynchronous form-submit

我正在开发ASP.NET MVC3 webapplication

我正在使用Jquery提交多个表单

for (var i = 0; i < AllForms.length; i++) {
            $(AllForms[i]).trigger('submit');
        }

之后我将重定向到主页

window.location.href = '@Url.Action("Index", "Home")';

我的问题是,表单提交是异步完成的,有时页面会在所有提交结束之前重定向。

如何让页面等待提交完成然后重定向?

由于

1 个答案:

答案 0 :(得分:1)

var formCount = $('form').length;
$('form').each(function() {
    jQuery.post(url, $(this).serialize(), function() {
        formCount--;
        if(formCount === 0) {
            window.location.href = '@Url.Action("Index", "Home")';
        }
    });
});

试一试。这是一个简化版本,但是如果ajax请求成功发送,您可能需要额外检查。