youngCoder
12.01.2010, 22:43:32
Witam, mam dwie komunikujące się ze sobą funkcje, opisane pobieżnie w ten sposób:
function A() {
var response = new String;
response = obj.responseText; // Ajax
response = 'abc'; // wartość nie ma znaczenia
return response;
}
function B() {
var text = new String;
text = A();
alert(text);
}
Za każdym razem alert pokazuje "undefined", zamiast tekstu. Wywołanie alert wewnątrz funkcji A prawidłowo zwraca tekst.
Czy ktoś ma pomysł, gdzie może tkwić problem?
nospor
12.01.2010, 22:47:28
rozumiem ze w funkcji A masz ajaxa. A wiec pytanie do ciebie: ale wiesz ze ajax dziala asynchronicznie?
Jak to ma sie do problemu? A no tak, ze ajax sobie leci, funkcja A daje return niezalezny od ajaxa
Fifi209
12.01.2010, 22:52:22
Cytat(nospor @ 12.01.2010, 22:47:28 )

rozumiem ze w funkcji A masz ajaxa. A wiec pytanie do ciebie: ale wiesz ze ajax dziala asynchronicznie?
Jak to ma sie do problemu? A no tak, ze ajax sobie leci, funkcja A daje return niezalezny od ajaxa

Ktoś to nawet opisywał na przykładzie jQuery.
http://eriz.pcinside.pl/weblog/ajax-w-jque...script-218.html
youngCoder
12.01.2010, 23:49:02
jak zatem wyjaśnicie, że podanie zwykłego return 'abc' również powoduje taki efekt?
Fifi209
12.01.2010, 23:51:55
Cytat(youngCoder @ 12.01.2010, 23:49:02 )

jak zatem wyjaśnicie, że podanie zwykłego return 'abc' również powoduje taki efekt?
A czytałeś co Ci podlinkowałem? Swoją drogą ciężko ruszyć cztery litery i sprawdzić?