.done не является функцией

У меня другая проблема. Я получаю сообщение об ошибке в FireFox, и я не знаю, в чем моя вина. Я всегда делал это так, и у меня никогда не было ошибки. Я уже проверяю ошибки нижнего/верхнего регистра, но ничего не могу найти.

Спасибо

$. ajax ({type: "POST", url: "ajax/check_username.php", data: {имя_пользователя: имя_пользователя}}). done не является функцией

<script type="text/javascript">
$(document).ready(function(){
    $("#username").keyup(function(){
        var username = $("#username").val();
        $(".usernameFeedback").fadeIn("fast");

        $.ajax({
            type: "POST",
            url: "ajax/check_username.php",
            data: { username: username }
        }).done(function( msg ) {
            $("#loadingImage").hide();
            if(msg.status != "error")
                {
                    if(msg.available == "yes")
                    {
                        $(".usernameFeedback span").text(msg.message);
                        $(".usernameFeedback span").removeClass("notok");
                        $(".usernameFeedback span").addClass("ok");
                    }
                    else
                    {
                        $(".usernameFeedback span").text(msg.message);
                        $(".usernameFeedback span").addClass("notok");
                    }
                }
        });
        return(false);
    })
});
</script>

Ответ 1

Вероятно, ваша версия jQuery слишком стар. Вам нужно как минимум jQuery 1.5 для объектов jqXHR реализовать интерфейс Promise, который вы используете.

Если вы не можете обновить по какой-либо причине, просто используйте параметр success:

$.ajax({
    type: "POST",
    url: "ajax/check_username.php",
    data: { username: username },
    success: function(msg) {

    }
});