可能重复:
Can't use returned data in .ajax method of jQuery anywhere but the function itself
我在jquery.validator中使用ajax调用
$.validator.addMethod("vname", function(val,ele){
var ans = true;
$.get("url", {}, function(data){
if(data == "firstoption"){
ans = true;
return true;
}else{
console.log("false"); //printing correctly but sending only false
ans = false;
return false;
}
});
return ans; //always returning true(initial value) bcoz returning before ajax response
}, "errormsg");
在这里,我遵循了两种方法
1)我刚刚在ajax调用(if语句内部)中返回true或false,但它总是返回false 2)第二次使用varialbe“ans”并尝试使用ajax的响应填充varialbe。最后归还那个variblae。这总是在ajax请求完成之前返回时返回true(初始值)
解决方案是什么?