如何访问ajax成功回调函数中的$(this)

看来我无法访问jquery ajax成功函数内的$(this)。请参见下面的代码。

 $.ajax({
            type: 'post',
            url: '<?php echo site_url('user/accept_deny_friendship_request')?>',
            data: 'action='+$action+'&user_id='+$user_id,
            success: function(response){
               //cannot access $(this) here $(this).parent().remove();
            }
        });


元芳怎么了
浏览 682回答 3
3回答

慕姐8265434

应该$(this)怎么办&nbsp;如果在该函数之外有对它的引用,则可以将其存储到变量中。$('#someLink').click(function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$t&nbsp;=&nbsp;$(this); &nbsp;&nbsp;&nbsp;&nbsp;$.ajax(&nbsp;...&nbsp;,&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$t.parent().remove(); &nbsp;&nbsp;&nbsp;&nbsp;});}

犯罪嫌疑人X

查看上下文选项-非常适合我:$.ajax({ &nbsp;&nbsp;&nbsp;&nbsp;context:&nbsp;this, &nbsp;&nbsp;&nbsp;&nbsp;type:&nbsp;'post', &nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;'<?php&nbsp;echo&nbsp;site_url('user/accept_deny_friendship_request')?>', &nbsp;&nbsp;&nbsp;&nbsp;data:&nbsp;'action='+$action+'&user_id='+$user_id, &nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function(response){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//can&nbsp;access&nbsp;this&nbsp;now! &nbsp;&nbsp;&nbsp;&nbsp;}});

千巷猫影

如果你想this成为this你的Ajax调用的情况下,也可以使用.bind()像下面这样:$.ajax({ &nbsp;&nbsp;url:&nbsp;'some_url' &nbsp;&nbsp;success:&nbsp;function(data)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;do&nbsp;something&nbsp;'this' &nbsp;&nbsp;}.bind(this)})它将this成功回调内部的值绑定到this外部。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery