Never use synchronous XHR requests; there is no good reason to use them, and this leads to a terrible user experience.
You do not need to worry about the queries being confused:
$('form').each(function() { var form = $(this); $.post(form.attr('action'), form.serialize(), function(r) {
source share