我有一个用AJAX(PHP)验证代码的函数。但是,当我尝试运行它时,它会在返回undefined
或true
时返回false
。
功能:
function verifyViite(viite) {
$.get('dataminer.php?question=validateViite&q='+viite, function(data) {
jQuery.globalEval(data);
if(valid == 1) {
return true;
}
else {
return false;
}
});
}
data
是valid = 1;
或valid = 0;
答案 0 :(得分:2)
由于AJAX请求是异步的,因此无法返回Callback返回值。
在回调本身内执行调用verifyViite
的任何代码,而不是返回true或false。
另外,您可以synchronous AJAX request。
答案 1 :(得分:2)
因为函数veryViite不返回任何内容,undefined是预期的结果。由于它的异步,你必须提供一个回调函数,该函数将在成功的ajax调用时调用。像这样的东西;
function verifyViite(viite,cb) {
$.get('dataminer.php?question=validateViite&q='+viite, function(data) {
jQuery.globalEval(data);
if(valid == 1) {
cb(true);
}
else {
cb(false);
}
});
}
并且呼叫就像;
verifyViite(viite,function(good){
alert(good);
});