我正在进行$ .ajax调用,以下代码无法正常工作.警报导致'undefined'
$(document).ready( function {
$(".elem").on("click", function(e) {
e.preventDefault();
$.ajax( {
url: 'index.php',
data: {
'action': 'something'
},
success: function() {
alert($(this).data("foobar"));
}
});
});
)};
Run Code Online (Sandbox Code Playgroud)
但是,$(this)在输入ajax函数之前,我可以通过添加别名来使其正常工作.
$(document).ready( function {
$(".elem").on("click", function(e) {
var old_this = $(this);
e.preventDefault();
$.ajax( {
url: 'index.php',
data: {
'action': 'something'
},
success: function() {
alert(old_this.data("foobar"));
}
});
});
)};
Run Code Online (Sandbox Code Playgroud)
我无法为被点击的元素分配唯一ID,因此通过$("#id")访问它不是一个选项.
是否有更标准化的方法来访问在进入成功函数之前存在的$(this),或者这种方式是否正常工作?