Devolver el html de la llamada .ajax

Estoy indefinido por alguna razón cuando intento devolver el html a través de la función de devolución de llamada:

function getDataFromUrl(urlWithContent)
{  
    // jQuery async request
    $.ajax(
    {
        url: urlWithContent,
        dataType: "html",
        success: function(data) {
                                    return $('.result').html(data);
                                },
        error: function(e) 
        {
            alert('Error: ' + e);
        }
    });
}

Sé que estoy recuperando datos, lo veo en firebug en la respuesta y también cuando alerta los datos, veo que todo el contenido de la página aparece en el cuadro de alerta.

Cuando llamo a mi función, estoy haciendo lo siguiente:

var divContent = getDataFromUrl(dialogDiv.attr("href"));

if(divContent)
    dialogDiv.innerHTML = divContent;

cuando alerta el contenido de div (antes de la instrucción if) me quedo indefinido. ¿Tal vez me estoy equivocando sobre cómo estoy devolviendo los datos?

También intenté simplemente devolver datos; Lo mismo, me queda indefinido después de la llamada a este método cuando se establece en mi variable.

Actualizado por respuestas:

Intenté esto, aún sin definir:

function getDataFromUrl(urlWithContent, divToUpdate)
{  
    $.ajax(
    {
        url: urlWithContent,
        aSync: false,
        dataType: "html",
        success: function(data) {
                                    divToUpdate.innerHTML = data;
                                },
        error: function(e) 
        {
            alert('Error: ' + e);
        }
    });
}

Lo llamé desde otra función como esta:

var divContent = "";

if (dialogDiv.attr("href"))
{
    getDataFromUrl(dialogDiv.attr("href"), divContent);
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta