I would like to store a response result from an ajax call. This is because the ajax is the main API call used by several functions to extract information from an API.
I call callAPI function more than 8 times in my app. Of course, I can duplicate the function callAPI 8 times to properly get information but this is not cool way to code.
var result = callAPI("GET",url,'');
$('#status').val(result.success);
$('#output').val(result);
function callAPI(method_input, url_input, body_input){
    var urli = url_input;
    var datai = body_input;
    var method = method_input;
    $.ajax({
        url: urli,
        beforeSend: function(xhrObj){
            xhrObj.setRequestHeader("some header","some value");
        },
        type: method,
        data: datai,
    })
    .done(function(data,status) {
        console.log("success");
        console.log(data);
        return JSON.stringify(data);
    })
    .fail(function(data,status) {
        console.log("error");
        console.log(data);
        return JSON.stringify(data);
    });
  }
I tried to store the return value using var result = ajax(value); but the result is empty
is there any way to store return value of a function to a variable?
EDIT I Solved this problem by using callback function like below
function callbackResult(result){
$('#status').val(result.success);
$('#output').val(result);
}
function callAPI(method_input, url_input, body_input, callback){
    var urli = url_input;
    var datai = body_input;
    var method = method_input;
    $.ajax({
        url: urli,
        beforeSend: function(xhrObj){
            xhrObj.setRequestHeader("some header","some value");
        },
        type: method,
        data: datai,
    })
    .done(function(data,status) {
        console.log("success");
        console.log(data);
        return JSON.stringify(data);
        callback(data);
    })
    .fail(function(data,status) {
        console.log("error");
        console.log(data);
        return JSON.stringify(data);
        callback(data);
    });
  }
This was my first function to use a callback function and now I know what the callback function is.
Thank you guys all.
 
     
    