Przeglądałem forum, jednak nie znalazłem odpowiedzi na moje pytanie.
Mianowicie, mam pole input, gdzie po zmianie jego wartości wykonywana jest funkcja JS.
Funkcja w JS ma za pomocą AJAXA sprawdzić wartość generowaną przez PHP.
Kod java script:
function funkcja(value){ var error = ''; advAJAX.get({ url: "text.php?zmienna="+value, onSuccess : function(obj) { }, onError : function(obj) { error = '0'; }, onFinalization: function(obj) { error = obj.responseText; } }); .... <coś tam dalej się dzieje ze zmienną error> }
Problem jest w tym, że wartość zwracana przez AJAX nie jest zapisywan do zmiennej JS.
Z tego co wyczytałem to dlatego, że AJAX jest wykonywany asynchronicznie z JavąScript.
Stosując opóźnienie można to obejść - tylko, że nie bardzo coś takiego mi wychodzi.
Paradoksalnie pokazanie alertu w JS z dowolną treścią sprawia, że zmienna error ma odpowiednią wartość, ale jest to rozwiązanie prowizoryczne.
Zastosowanie pętli:
while((error=='undefined' || !error || error=='') && i<1000){ i++; }
... teoretycznie działa, ale powoduje zawieszanie się przeglądarki i komunikaty o możliwości zakończenia skryptu.
Wiecie jak zrobić, aby wartość zwracana przez AJAX była zapisywana do zmiennej JAVASCRIPT?