He escrito una función ajax genérica simple que puede ser invocada por múltiples funciones en mi script. No estoy seguro de cómo devolver los datos a la función ajax a la persona que llama.jQuery ajax-- devolver datos a la función de llamada
// some function that needs ajax data
function myFunction(invoice) {
// pass the invoice data to the ajax function
var result = doAjaxRequest(invoice, 'invoice');
console.dir(result); // this shows `undefined`
}
// build generic ajax request object
function doAjaxRequest(data, task) {
var myurl = 'http://someurl';
$.ajax({
url: myurl + '?task=' + task,
data: data,
type: 'POST',
success: function(data) {
console.dir(data); // this shows good data as expected
return data; // this never gets back to the calling function
}
});
}
¿Hay alguna manera de devolver los datos ajax a la función de llamada?
No. La función de llamada ha terminado de ejecutarse antes de la llamada AJAX se inició aun. Podrías hacerlo sincrónico ... pero luego no es AJAX. – TheZ
¿No pudo pasar una función de devolución de llamada (posiblemente anónima) a la función 'doAjaxRequest' y luego invocarla desde el cierre exitoso? –
@ TheZ-- mierda-- obvio ahora. ¡Gracias por la ayuda con una pregunta tonta! – julio