jquery.post()
работает путем выдачи Ajax-запроса. При вызове Ajax PHP-скрипт работает асинхронно (воспринимайте его как фоновый поток). Таким образом, скрипт PHP не может перенаправить браузер клиента. Для этого нужно, чтобы PHP-скрипт отвечал URL-адресом для перенаправления и перенаправлял с помощью javascript.
В вашем обратном вызове POST:
function(data){ //data will be the URL to redirect to, sent back by the PHP script
window.location = data;
}
EDIT
Из документации Jquery по jquery.ajax ()
statusCode (добавлено 1.5) Карта
Default: {}
Карта числовых HTTP-кодов и функций, вызываемых, когда ответ имеет соответствующий код. Например, следующее будет оповещать, когда статус ответа будет 404:
$.ajax({
statusCode: {
404: function() {
alert('page not found');
}
}
});
Если запрос выполнен успешно, функции кода состояния принимают те же параметры, что и обратный вызов успеха; если это приводит к ошибке, они принимают те же параметры, что и обратный вызов ошибки.