ajax запросы через фреймворк jquey по умолчанию происходят асинхронно. и если написать что-то типо такого:
alert(1);
jQuery.post(....,function(responce){ alert(2);});
alert(3);
то в результате вы получите alert(1), alert(3), alert(2).
Учитывайте это. Впишите "document.location.href = "http://www.site.ru";" во внутрь метода callback вашего ajax.
Либо используйте Синхронные запросы, но это приостанавливает работу браузера и теряется весь смысл в технологии ajax.