jquery ajax提交回调得到这个壁橱

时间:2016-10-07 15:06:50

标签: jquery

$(document).on('click', '#file-submit', function () {

    $.ajax({
        url: url,
        type: 'POST',
        cache: false,
        data: formData,
        processData: false,
        contentType: false
    }).done(function (data, status, jqxhr) {
        //here will be get a error
        var nextId = $(this).parents('.tab-pane').next().attr("id");
        alert(nextId);

    }).fail(function (data, status, jqxhr) {
        console.log("error");
    });
})

threr是页面中的一个按钮,当页面被提交时, 我将获得表单元素中的值, 但我不能得到, 请给点意见,谢谢。

1 个答案:

答案 0 :(得分:0)

将相关上下文设置为done()回调,例如使用bind()和btw,更喜欢使用closest()

$(document).on('click', '#file-submit', function () {

    $.ajax({
        url: url,
        type: 'POST',
        cache: false,
        data: formData,
        processData: false,
        contentType: false
    }).done(function (data, status, jqxhr) {
        //now 'this' refers to clicked element
        var nextId = $(this).closest('.tab-pane').next().attr("id");
        alert(nextId);

    }.bind(this)).fail(function (data, status, jqxhr) {
        console.log("error");
    });
})