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

标签 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);    
        }
    });
});

我在这里使用的回调不正确吗?难道错误回调不应该只在出现 ajax 错误时才触发吗?

我的意图是对请求使用react。如果有错误,我想做点什么。如果成功的话,我想做点别的事情,等等......

最佳答案

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

$.post(url, { comment: text }, function(data) {
        alert(data);    
});

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

关于jquery - 在 jQuery 中为 $.post 调用分配回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6208877/

相关文章:

jquery - 采用逗号分隔列表并创建无序列表

javascript - 基于类的 Javascript 注入(inject)有什么缺点吗?

javascript - 使用 jQuery 调整页脚大小的运行时错误

javascript - 如何在一个更大的函数下的 for 循环或 if 语句中压缩和调用每个函数?

javascript - 函数无法创建变量并使用 jquery?

jquery - 在覆盖作品中显示隐藏的 div 但没有样式

javascript - jQuery 删除 div onclick

jquery - 尝试在 $(this) 选择器中选择元素

javascript - 将 jQuery.Deferred 对象传递给 deferred.resolve 时,jQuery.Deferred 是否存在错误?

php - 如何确定当前使用的网格选项