JavaScript范围问题,ajax
问题描述:
我想要使用ajax提交表单,然后添加一个“禁用”类,如果ajax请求成功。JavaScript范围问题,ajax
$("body").on("click", ".my_form", function(e){
submit_form(e, $(this));
});
function submit_form(e, _this){
e.preventDefault();
$.ajax({
type:"POST",
url:"/controller/common/form_processing.php",
data: "my form data goes here",
dataType: "json",
success:function (data, _this) {
_this.parents(".my_form").addClass("disabled");
});
});
在它的当前形式,“已禁用”类不添加。但是,如果我移动ajax括号外的线:_this.parents(".thumbsup").addClass("disabled");
,它确实有效。 (但显然,在这种情况下,“已禁用”时将忽略Ajax调用是成功还是失败补充。有人可以解释如何得到这个工作是否正常?谢谢
答
从你的成功回调取出_this
参数,你正在重新定义_this
原来那个是jQuery对象传给的submit_form
success:function (data) {
_this.parents(".my_form").addClass("disabled");
});