Вызов Ajax и возвращаемый ответ

У меня есть поиск по многим вопросам, но я не получил правильного ответа. Я сделал следующую функцию из того, что мои исследования я понимаю, что ajax-вызов – асинхронный, поэтому при его выполнении передается значение глобальной переменной и возвращается, но я получаю пустое или неопределенное значение. Я могу сделать это с помощью $ ('# someid' ) .html в ответ или некоторые другие методы, но я не хочу их реализовывать. Любая идея, что я делаю неправильно здесь

function SimpleAjax(form, postData, url) { var returnData; var sendData; if (form == "") { sendData = postData; } else if (postData == "") { sendData = $(form).serialize(); } $.ajax({ type: 'POST', url: url, cache: false, data: sendData, success: function(data) { if (data != null || typeof data != 'undefined') { returnData = data; } } }).done(function(data) { returnData = data; }); return returnData; }​