在jQuery中为$ .post调用分配回调

Moh*_*mad 3 jquery

我有这个脚本运行得很好,但它会一直触发"错误"回调,即使没有错误:

$(".comment-form").submit(function(e) {
    e.preventDefault();

    var $form = $(this),
        text = $form.find('textarea').val();
        url = $form.attr('action');

    $.post(url, { comment: text,
        beforeSend: function() {
            alert("before send");
        },
        error: function() {
            alert("error"); 
        },
        success: function(data) {
            alert(data);    
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我在这里错误地使用了回调吗?只有在出现ajax错误时,错误回调才会触发吗?

我的意图是对请求作出反应.如果有错误,我想做点什么.如果它成功了,我想做别的事等等......

And*_*per 8

您将回调作为要发布的数据的一部分传递,因此它们将作为后调用的一部分进行评估.试试这个:

$.post(url, { comment: text }, function(data) {
        alert(data);    
});
Run Code Online (Sandbox Code Playgroud)

要么

$.ajax(url, { data: { comment: text },
    type: "POST",
    beforeSend: function() {
        alert("before send");
    },
    error: function() {
        alert("error"); 
    },
    success: function(data) {
        alert(data);    
    }
});
Run Code Online (Sandbox Code Playgroud)