Il problema della chiamata asincrona è che il return successivo non aspetta il risultato della chiamata ajax, nemmeno se metto il tutto dentro la funzione success..
Con la chiamata sincrona non ho questo problema, perché il browser "aspetta" la risposta prima di proseguire.
Per intenderci, concettualmente questo è quello che vorrei fare:
codice:
function checkWord() {
var word = $("#wordsbar").text();
if (word.length >= 2) {
$.ajax({
url: "search.php",
data: { w: word },
async: true,
success: function(msg) {
return msg;
}
});
}
}
Ovviamente... il return da dentro la funzione success non mi da il risultato sperato, e quindi ho bisogno di "aggirare" la cosa... ma non mi viene in mente nulla