ajax回调函数中使用$(this)取不到对象的解决方法
投稿:whsnow
如果在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)的话,实践证明,是取不到任何对象的。具体原因,希望大神留言指教。。
复制代码 代码如下:
$(".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)的话,实践证明,是取不到任何对象的。具体原因,希望大神留言指教。。
您可能感兴趣的文章:
- jQuery Ajax Post 回调函数不执行问题的解决方法
- Javascript基于AJAX回调函数传递参数实例分析
- ajax请求返回的数据看不到回调函数没有执行也没报错
- 解决ajax回调函数返回的字符串乱码问题
- ajax异步回调函数中给外部变量赋值的问题探讨
- ajax JSONP请求处理回调函数jsonpCallback区分大小写
- jQuery Tips 为AJAX回调函数传递额外参数的方法
- ajax回调函数参数传递正确方法
- JQuery中使用Ajax赋值给全局变量失败异常的解决方法
- ajax给全局变量赋值问题解决示例
- JQuery中使用Ajax赋值给全局变量异常的解决方法
- jquery ajax修改全局变量示例代码
- Ajax获取回调函数无法赋值给全局变量的问题