我需要在函数内调用jquery ajax函数并检查响应数据
function checkInput(){
var success;
$.ajax({...}).then(function (data) {
success = data.response
console.log(success); // true/false correct!
if (success)
call_other_func(); // works
});
console.log(success); // undefined;
return success; // i need to return success variable
}
其他函数调用checkInput
if (checkInput()){
console.log('correct input value');
}
else{
call_error_validation_func();
}
使用async:false可以正常工作但不正确。
我该怎么办?
感谢
答案 0 :(得分:0)
你的问题是理解javascript中的异步调用。 您应该做的是返回一个委托,然后在完成ajax调用时获取返回的值。
以下是一个例子:
function checkInput(){
var success;
var delegate = $.ajax({...});
return delegate;
}
var delegate = checkInput();
delegate.done(function(data){
console.log(data); //will show you'r results
// Do whatever you need here
});