javascript - 如何在ajax done函数中检索函数变量

标签 javascript jquery ajax

我有这个 js 函数:

$('.editable').change(function () {
    event.preventDefault();
    var el_text = this.lastElementChild;
    var action = this.action;
    var method = this.method;
    var data = $(this).serialize();

    $.ajax({
        url: action,
        type: method,
        data: data,
    }).done(function (resp) {

        // alert('has changed!');
    });
});

如何在 done() 中检索此处显示为未定义的 el_text

最佳答案

你可以这样做,因为 done 回调的范围 函数在自己的范围内考虑这个,以便获得该变量 您可以简单地在 ajax 之外的变量中引用它

var objectElement = this;

然后在完成回调之后你可以这样调用它。

$.ajax({
       url: action,
       type: method,
       data: data,
}).done(function (resp) {
     $(objectElement).lastElementChild;     
});

关于javascript - 如何在ajax done函数中检索函数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645738/

相关文章:

javascript - 如何在 Sequelize 模型上实现 'replyingTo' 和 'replies' 关联

javascript - AJAX/JQuery : Submit form and call function without refreshing page

jquery - 同位素不适用于 imagesLoaded?

javascript - “onsubmit”未运行 javascript 函数

javascript - PreventDefault后提交表单并解除绑定(bind)

jquery - 如何使用 PHP 将值从 json_encode 传递到 Ajax

javascript - 如何在 typescript 中创建自定义数据类型?

javascript - 2级响应式菜单不显示 block

php - 如何在没有ajax的情况下将数组从javascript传递到php?

javascript - 使用ajax和php删除表html中的行