我试图根据JQuery $ .get请求的结果确定函数的返回值:
function checkResults(value) {
$.get("checkDuplicates.php", {
value: value
}, function(data) {
if(data == "0") {
//I want the "checkResults" function to return true if this is true
} else {
//I want the "checkResults" function to return false otherwise
}
});
}
有没有简单的方法可以做到这一点?
答案 0 :(得分:6)
你不能这样做。 .get()
像任何其他ajax方法一样异步运行(除非你明确地将它设置为同步运行,这不是很值得推荐)。所以你可以做的最好的事情就是传递一个回调。
function checkResults(value, callback) {
$.get("checkDuplicates.php", {
value: value
}, function(data) {
if(data == "0") {
if(typeof callback === 'function')
callback.apply(this, [data]);
} else {
//I want the "checkResults" function to return false otherwise
}
}
}
checkResults(55, function(data) {
// do something
});
答案 1 :(得分:3)
不,您需要提供一个请求完成后将执行的回调。您可以将返回值传递给回调。回调必须对结果采取行动。