首页 > 代码库 > ajax回调函数中使用$(this)取不到对象的解决方法

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)的话,实践证明,是取不到任何对象的。具体原因,希望大神留言指教。。