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