Someone marked this post as duplicate. How can I remove it?
I am trying to hold ajax response in a variable. According to several searches online such as this one, I can't figure it out how to retain data in the variable. I am getting undefined in browser console with below code.
function callbackrequest(data) {
    return data;
}
function getDataName () {
    $.ajax({
        url: "/search/data",
        type: "POST",
        success: function(data) {
            callbackrequest(data);
        }
    });
}
var responseData = getDataName();
console.log(responseData);
I verified that responseText has data that I am looking for when I use return $.ajax, but somehow I cant retain the data in responseData variable.
My solution
function callbackrequest(data, anotherdata) {
    // Code to process data from the arguments
}
function getDataName (anotherdata) {
    $.ajax({
        url: "/search/data",
        type: "POST",
        success: function(data) {
            callbackrequest(data, anotherdata);
        }
    });
}
$(document).on('click', '.add-submit', function(evt) {
    evt.preventDefault();
    var dataarray = $('.new-data select').serializeArray();
    var datajson = createJsonFormOutput(dataarray);
    datajson["customer_id"] = $('#id').val();
    var request = $.ajax({
        url: "/api/aedit",
        data: datajson,
        type: "POST"
    }).done(function(data) {
       var returncode = $.parseJSON(data);
       if (returncode.success === true) {
          getDataName(returncode); 
       } else {
           console.log(returncode);
       }
    });
});
 
    