Ho scritto una semplice funzione generica ajax che può essere chiamata da più funzioni nel mio script. Non sono sicuro di come restituire i dati alla funzione Ajax al chiamante.jQuery ajax-- restituire dati alla funzione di chiamata
// 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
}
});
}
C'è un modo per restituire i dati Ajax alla funzione di chiamata?
No. La funzione chiamante ha terminato l'esecuzione prima che la chiamata AJAX è ancora iniziata. Potresti renderlo sincrono ... ma poi non è AJAX. – TheZ
Non è possibile passare una funzione di callback (possibilmente anonima) alla funzione 'doAjaxRequest' e quindi richiamarla dalla chiusura di successo? –
@ TheZ-- crap-- ovvio ora. Grazie per l'aiuto con una domanda stupida! – julio