Função retorna a resposta Ajax - O valor é indefinido? jQuery Ajax [duplicado]

Esta questão já tem uma resposta aqui:

Como faço para retornar a resposta de uma chamada assíncrona? 33 respostas

Quando eu alertar o valor retornado da função jsonServerResponse, seu valor é indefinido - apesar do JSON ser retornado da página process.php.

function jsonServerResponse(operation, JSOoptionalData) {
        JSOoptionalData = (typeof JSOoptionalData == "undefined") ? 'defaultValue' : JSOoptionalData
        var jqxhr = $.ajax({
            type: "POST",
            url: "process.php",
            data: "apicommand=" + JSOoptionalData,
            success: function (json) {
                return jQuery.parseJSON(json);
            }
        });
}

alert("Response as JS Object: "+jsonServerResponse("operation"));

Eu sei que o problema é que a função de alerta feita antes da solicitação assíncrona está completa, mas não tenho certeza de como corrigir esse problema. Qualquer conselho é muito apreciado :)

questionAnswers(3)

yourAnswerToTheQuestion