javascript - 传入ajax成功函数

标签 javascript jquery ajax

我开发了以下代码,我需要将精确的“this”值(因为很多项目都具有此类)传递给ajax成功函数。怎么做。

$(document).on('click', '.address_remove_link', function(e) {
    var id = $(this).attr("data-id");
    $.ajax({
        type: 'POST',
        url: 'inc/controlllers/detele_shipping_addr.php',
        data: {
            internalId: id
        },
        success: function(response, this) {
            $(this).parent().closest('div').hide(200);
        },
        error: function(data) {
            console.log("error");
        }
    });
});

最佳答案

问题是因为 this 的范围在 success 处理函数中发生了变化。您可以将外部范围存储在点击处理函数中。试试这个:

$(document).on('click', '.address_remove_link', function(e) {
    var $link = $(this); // store reference here
    var id = $link.attr("data-id");

    $.ajax({
        type: 'POST',
        url: 'inc/controlllers/detele_shipping_addr.php',
        data: {
            internalId: id
        },
        success: function(response) {
            $link.parent().closest('div').hide(200); // to use here
        },
        error: function(data) {
            console.log("error");
        }
    });
});

关于javascript - 传入ajax成功函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465310/

相关文章:

javascript - Ajax jquery post 发布时没有变量名

javascript - Requirejs 未加载 jquery 插件

javascript - iOS 上的 Mobile Safari 在大页面上崩溃

javascript - 如何在 HTML 中包含数组内容?

javascript - 如何在javascript中的匹配函数中传递变量?

javascript - 自动幻灯片放映的 javascript 和 jquery 之间有什么区别吗?

javascript - 将数组名称作为字符串传递,jquery

JQuery如何使用同一元素的其他属性设置元素的属性

javascript - 使用ajax上传数组缓冲区(音频缓冲区)的最佳方法

Ajax 成功时的 Javascript 重定向