Я только что столкнулся с той же проблемой только сейчас. Я надеялся, что этот пост поможет мне, но ничто, что я нашел (что было мало), не поможет.
Я понял, почему, хотя.
Вставьте это где-нибудь в запрос ajax:
async: false,
Это полностью исправило вещь за одну секунду.
Кстати, я понял, что если вы включите это и в свой запрос ajax, вы можете получить сообщение об ошибке при первом же клике:
error: function(er, err, error){
alert(error);
},
Причина, по которой я не получил ответа от сервера, не в том, что он не срабатывал, а в том, что он возвращал ошибку, а не "успех".
Кроме того, при отладке я настоятельно рекомендую использовать FireBug для Firefox, и вы можете отслеживать любые запросы Ajax на вкладке (Net-> XHR). Очень полезно!