网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/8/28 浏览:3 次 )
下面这段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对象并兼容多个浏览器
下一篇:关于JavaScript跨域问题及实时刷新解决方案
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。