Javascript 在AJAX.done函数中添加类

Javascript 在AJAX.done函数中添加类,javascript,jquery,Javascript,Jquery,我编写了一个小脚本来添加调用了where.done函数的类,但这个解决方案不起作用 $(“#测试”)。在(“单击”,函数(){ var test=“foo bar”; 美元邮政({ 类型:“POST”, url:“test.php”, 数据:{ 测试:测试 } }).done(函数(){ $(this.parent().parent().addClass(“成功”); }); }); 回调内部的此与外部的不一样它指的是ajax请求的jqXHR对象,而不是事件处理程序绑定到的元素,您应该首先将其

我编写了一个小脚本来添加调用了where.done函数的类,但这个解决方案不起作用

$(“#测试”)。在(“单击”,函数(){
var test=“foo bar”;
美元邮政({
类型:“POST”,
url:“test.php”,
数据:{
测试:测试
}
}).done(函数(){
$(this.parent().parent().addClass(“成功”);
});
});

回调内部的此
与外部的不一样它指的是ajax请求的
jqXHR
对象,而不是事件处理程序绑定到的元素,您应该首先将其保存在外部,然后将其用作变量,如:

$("#test").on("click", function() {
  var _this = $(this);
  var test = "foo bar";

  $.post({
    type: "POST",
    url: "test.php",
    data: {
      test: test
    }
  }).done(function() {
    _this.parent().parent().addClass("success");
  });

});

下面是在Ajax调用中使用此
的方法。首先将节点存储在该变量中,并使用
变量代替该变量。例如,我使用的是
GET
请求,但它也适用于
POST
请求

$(“#测试”)。在(“单击”,函数(){
var,该值=$(此值);
var postData={};
$.ajax({
键入:“获取”,
url:“https://ipinfo.io/json“,//您的url
数据:postData,
成功:功能(msg){
},
错误:函数(xhr、ajaxOptions、thrownError){
日志(“发生错误:+thrownError”)
} 
}).done(函数(){
$(that.parent().parent().addClass(“成功”);
});;
})
。成功{
背景色:#fc0;
}


你到底想在哪里添加类?是的-我想,为什么不直接给出表标记和id,然后找到它,而不是
parent().parent()
未定义\u在回答中,我们还可以做一个。bind(这)right to done callback在这种情况下不需要bind以正确的方式…bind也可以正常工作是的。。