ajax回调函数中$(this)没有作用的解决办法

前端之家收集整理的这篇文章主要介绍了ajax回调函数中$(this)没有作用的解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面这段jquery代码,是可以达到预期效果的。

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

猜你在找的Ajax相关文章