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