Quote Originariamente inviata da DUMAX Visualizza il messaggio
Salve a tutti,
Devo eseguire questa chiamata Ajax fino a quando il valore di result è uguale a 0.
Il linguaggio JavaScript lavora in modo asincrono per natura: non si fanno MAI cicli iterativi bloccanti su operazioni tendenzialmente di una certa durata, soprattutto quando il codice è eseguito all'interno del browser.

Se proprio vuoi ripetere la chiamata fino al raggiungimento di una condizione, utilizza le funzioni setTimeout() oppure setInterval() per ritentare la richiesta dopo un certo periodo, ma non puoi sicuramente né ripeterla costantemente (è come fare un attacco Dos al server!), soprattutto perché la stessa chiamata AJAX è asincrona, ovvero quando esegui l'istruzione questa lavora in background e ti invoca un callback nel momento in cui ricevi la risposta: in quella sede devi analizzare il valore di ritorno, ma se lo fai prima che l'operazione sia terminata il risultato sarà ovviamente undefined (vedi questi esempi per comprendere il meccanismo).

Ciao!