【问题标题】:jQuery callback not being calledjQuery回调没有被调用
【发布时间】:2009-03-28 21:16:55
【问题描述】:

我正在使用 jQuery 的.post AJAX 方法:

// completion toggling
$('.item input').click(function() {
    $.post('complete.php', {item: this.id}, function() {
        $(this).parent().fadeOut('slow');
    });
});

我在这里做错了什么? AJAX 在记录更新时工作,但回调事件永远不会发生。 Firebug 也没有错误。

【问题讨论】:

    标签: jquery ajax post callback


    【解决方案1】:

    我想知道在这一点上它是否不是一个不同的“这个”。尝试使用捕获:

    $('.item input').click(function() {
        var tmp = this;
        $.post('complete.php', {item: this.id}, function() {
            $(tmp).parent().fadeOut('slow');
        });
    });
    

    【讨论】:

    • 它由大括号限定 - 它不会与以类似方式限定的其他“tmp”冲突。
    • 糟糕!不知何故,我删除了 OP 的评论 - 它是“有效,需要检查范围”(或类似的东西)
    • 这是正确的,AJAX 回调中的“this”通常作用于 XMLHttpRequest 而不是特定元素。
    猜你喜欢
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 2011-01-17
    • 2012-06-25
    相关资源
    最近更新 更多