1

私は ASP.NET MVC3 Web アプリケーションに取り組んでいます

Jquery を使用して複数のフォームを送信しています

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

その後、ホームページにリダイレクトしています

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

私の質問はこれです。フォームの送信は非同期で行われ、すべての送信が完了する前にページがリダイレクトされることがあります。

送信が完了するまでページを待機させてからリダイレクトするにはどうすればよいですか?

ありがとう

4

1 に答える 1

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 リクエストが正常に送信されたかどうかを確認する追加のチェックが必要になる場合があります。

于 2012-04-18T13:57:30.020 に答える