Это идентичные коды. Я исправление внес, но работает также. Можете проверить.
Как я понимаю, header в такой ситуации в принципе работать не может.
var options = {
target:"#output",
success: function(data){
if($(data).attr("id")=='success'){
$.modal.close();
}
window.location.href = "http://wowa55.pz9.ru/detal/index.php";
}
};
// Переадресация при успешном сохранении
$success_href = (empty($_POST['success_href'])) ? '322.php' : $_POST['success_href'];
echo '<script id="success">location.href="'.$success_href.'";</script>';
if ('при правильном вводе') {
$success_href = 'http://wowa55.pz9.ru/detal/322.php ';
echo '<script type="text/javascript" id="success">location.href="'.$success_href.'";</script>';
} else {
echo "ошибочно"; // в js этот текст выводится $(#......).html(data);
}