![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%) ![]() ![]() |
Witam, posiadam o to taka funkcje:
Plik walkable.php zawsze coś zwraca wiec nie ma z tym problemu, w tym problem ze sama funkcja zwraca undefined. Sprawdzam to poprzez alert(onMove("left")); Co tu może być źle? Przeszukałem cale google, lecz nic nie znalazłem. Ten post edytował paxton 24.06.2009, 23:24:10 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Nie zwróci Ci w ten sposób.
Kod complete: function(data){ var data = data.responseText; return data; Zwraca tylko dla obiektu wywołującego funkcję, czyli obiektu $.ajax. Aby przechwycić wartość, utwórz w głównej funkcji jakąś zmienną (o innej nazwie niż data) i przypisuj jej żądany argument. Po wykonaniu AJAX możesz zwrócić tę wartość. Ale pamiętaj, aby włączyć żądanie synchroniczne, gdyż zawsze będzie miało pustą wartość. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%) ![]() ![]() |
Nie zwróci Ci w ten sposób. Kod complete: function(data){ var data = data.responseText; return data; Zwraca tylko dla obiektu wywołującego funkcję, czyli obiektu $.ajax. Aby przechwycić wartość, utwórz w głównej funkcji jakąś zmienną (o innej nazwie niż data) i przypisuj jej żądany argument. Po wykonaniu AJAX możesz zwrócić tę wartość. Ale pamiętaj, aby włączyć żądanie synchroniczne, gdyż zawsze będzie miało pustą wartość. Nie zbyt rozumiem, mógłbyś to wytłumaczyć na 'chłopski rozum' ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Tzn, że nie dostaniesz wyniku działania funkcji complete jeżeli walniesz w niej return.
Zeby to obejsc musisz wywoływac ajaxa w sposób synchroniczny (zapraszam do manuala jquery) i wtedy bedziesz mogl odebrac dane. Poniewaz sposób synchroniczny blokuje przegladarke na czas ładowania, wiec nie warto z nie korzystac dlatego po prostu zamiast zwracac wartość wywołuj inną funkcje, która ma robić coś po odebraniu danych ajax i w jej parametrze przekaz odebrane dane.
Ten post edytował wookieb 25.06.2009, 07:07:08 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:22 |