ajax回调函数中使用$(this)取不到对象的解决方法

如果在ajax的回调函数内使用$(this)的话,实践证明,是取不到任何对象的,需要的朋友可以参考下

$(".derek").each(function(){ 
$(this).click(function(){ 
var params = $(this).parent().serialize(); 
var obj=$(this).parent().siblings("div#caskContent"); 
var form=$(this).parent(); 
$.ajax({ 
url:"editCaskContent", 
type:"post", 
data:params, 
dataType:"json", 
success:function(e){ 
obj.empty(); 
obj.html("<font color="#00AA00">追问:</font>"); 
obj.append(e.caskContent); 
form.toggle(); 
alert("修改成功!"); 
}, 
error:function(e){ 
alert(e); 
} 
}); 
}); 
}); 

其中,大家可以看到,在发出ajax请求之前,我提前定义了两个变量,obj和form,分别用来存储两个jquery对象。如果在ajax的回调函数内使用$(this)的话,实践证明,是取不到任何对象的。具体原因,希望大神留言指教。。

原文地址:https://www.cnblogs.com/xiaochao12345/p/3790807.html