2016-01-10 56 views
0

我需要調用一個函數內部jQuery的AJAX funtion並檢查響應數據jQuery的正確syncronous 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(); 
} 

隨着異步:假的作品,但它是不正確辦法。

我該怎麼辦?

謝謝

回答

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 
}); 
+0

請讓我知道這對你的作品 – wmehanna

+0

我需要使用delegate.done功能後數據 – AldoZumaran