TypeError:$ .post(...)。success不是函数

时间:2017-09-24 20:58:22

标签: javascript jquery

有人可以帮助我使用下面的代码..在Firefox开发人员工具中我收到错误消息:: TypeError:$ .post(...)。success is not a function

所有变量都是从表单页面提交的。

任何意见和建议都将不胜感激......

谢谢

$(document).ready(function(){

    $('#post-comment-btn').click(function(){

        var _comment = $('#comment-post-text').val();
        var _userId = $('#userId').val();
        var _userName = $('#userName').val();

        if(_comment.length > 0 && _userId != null) {

            $.post("ajax/comment_insert.php",

                {
                    task : "comment_insert",
                    userId : _userId,
                    comment: _comment,


                }
                ).success(
                    function(data)
                {
                    console.log("ResponseText:" + data);
                }

                );


            console.log(_comment + " Username: " + _userName + " User Id: " + _userId);

        } else {

            console.log("The text area is empty..");

        }

        $('#comment-post-text').val("");


    });

});

1 个答案:

答案 0 :(得分:7)

不再有$.post().success方法,该函数返回一个promise,可以与donefailalwaysthen等一起使用,但不是success

$.post("ajax/comment_insert.php", {
    task    : "comment_insert",
    userId  : _userId,
    comment : _comment,
}).done(function(data) {
    console.log("ResponseText:" + data);
});

jQuery中所有ajax方法的文档现在明确指出

  

jqXHR.success()jqXHR.error()jqXHR.complete()回调   从jQuery 3.0开始删除方法。你可以使用jqXHR.done(),   jqXHR.fail()jqXHR.always()代替。