Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS][AJAX][advAJAX] onSuccess i return, onSuccess nie zwraca wartosci "returnem"
windman
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


Witam,
korzystam z biblioteki advAjax i napotkałem w niej na mały problem:

Problem dotyczy poniższej funkcji:
  1. function npCreateMenu(table,id){
  2. advAJAX.post({
  3. url: "php/menu.php",
  4.  
  5. parameters : {
  6. "table" : table,
  7. "id" : id
  8. },
  9.  
  10. onSuccess : function(obj) {
  11. var result = obj.responseText;
  12. document.getElementById('jakis_div').innerHTML = result;
  13. return 1;
  14. },//onSuccess : function(obj) {
  15.  
  16. onError : function(obj) {
  17. infoShow('AJAX Error: ' + obj.status);
  18. return 1;
  19. }//onError : function(obj) {
  20. });//advAJAX.post({
  21. }//npCreateMenu(table,id){


Dlaczego funkcja npCreateMenu nie zwraca 1?
np. echo npCreateMenu(x,y);

Dodam że jakis_div jest prawidłowo wypełniany, błędów brak.

Ten post edytował windman 12.01.2009, 12:24:40
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Uzywaj bbcode!!!

Cytat
np. echo npCreateMenu(x,y);

To tak nie dziala. Zamiast return 1 daj se alert(1) to moze cos zobaczysz. A nastepnie poczytaj troche na jakiej zasadzie dziala ajax


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
windman
post
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 12.01.2009, 11:36:26 ) *
To tak nie dziala. Zamiast return 1 daj se alert(1) to moze cos zobaczysz. A nastepnie poczytaj troche na jakiej zasadzie dziala ajax


Skoro to tak nie działa to co maożna zrobic aby funkcja zwróciła odpowiednią wartośc gdy Ajax zrobi już swoje?

Przybliże trochę problem:

mam funkcje: test

  1. test(){
  2. ajax1();
  3. ajax2();
  4. ajax3();
  5. }


która jak widac wywoluje 3 inne, które wykonują zapytania AJAX.
Problem w tym, że funkcja ajax2 nie może się uruchomic zanim funkcja (a scislej AJAX, który siedzi w niej) ajax1 nie zakończy działania. To samo dotyczy funkcji ajax2 i ajax3: ajax3 dopiero jak ajax2 zakonczy dzialanie.
Dodam jeszcze, że nie mogę wywołac funkcji ajax2 w onSuccess z funkcji ajax1. Obsługiwac to musi zewnętrzna funkcja.

Ten post edytował windman 12.01.2009, 12:58:04
Go to the top of the page
+Quote Post
marcio
post
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
Problem w tym, że funkcja ajax2 nie może się uruchomic zanim funkcja (a scislej AJAX, który siedzi w niej) ajax1 nie zakończy działania. To samo dotyczy funkcji ajax2 i ajax3: ajax3 dopiero jak ajax2 zakonczy dzialanie.

Nie wiem jak to jest w advAjax ale w mintAjax w obiekcie Request jest takie cos jak grupowanie polaczen poszukaj moze w advAjax tez jest takie cos.


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat
grupowanie polaczen

Jest. Ale żeby funkcja cos zwracała to ajax musi działac w sposob synchroniczny. Bodajze w advajax da sie to zrobic. Ale to oznacza ze zawiesisz javascript i dzialanie strony na czas ladowania danych przez ajax. Czy warto? Nie. Lepiej oprogramowac to tak ze wywolasz z funkcji onSuccess inna funkcje ktora ma robic cos dalej po zaladowaniu ajaxa albo poprostu wykonac to w onSuccess

Ten post edytował wookieb 12.01.2009, 18:00:03


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:52