Ajax成功忘记$(this)

时间:2018-09-29 16:09:38

标签: javascript jquery ajax

我有一个ajax脚本,成功后,文本应该会改变。

$(document).on('click','.favorite', function(){
    $URLtitle = $(this).attr('data-image-URLtitle');
    $username = $(this).attr('data-username');
    $token     = $('meta[name=csrf-token]').attr("content");
    $(this).text('test text 1');
    $.ajax({
        type: "POST",
        url: host + '/' + $username + '/' + $URLtitle + '/favorite/',
        data: {username: $username, URLtitle: $URLtitle, _token:$token},
        success: function(res) {
            $(this).text('test text 2');    alert('success');       

        }
    });

    if ( $(this).attr('data-fav') == 0) {
        $(this).data('data-fav', 1);
    } else if ( $(this).attr('data-fav') == 1) {
        $(this).data('data-fav', 0);
    }

});

如您所见,此示例中有两个$(this).text,一个在开始,一个在成功之后。

但是,即使我收到成功警报,该文本也变成“测试文本1”而不是“测试文本2”。发生了什么事?

0 个答案:

没有答案