![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
I znowu mam lamerskie pytanie:/
Mamy taki o to kod (WIKI): Kod advAJAX.get({ Wszystko fajnie ale jak przed wysłaniem request'a odczytać jakieś x parametrów i przekazać je do requesta?url: "http://www.example.com/page.html", parameters : { "var1" : "value1", "var2" : "value2" }, onSuccess : function(obj) { alert(obj.responseText); }, onError : function(obj) { alert("Error: " + obj.status); }, "var3" : "value3" }); Przypuszczam, że pomocne będzie tu zdażenie onInitialization w którym mógłbym coś takiego zrobić ale nie wiem jak w nim przekazać jakieś parametry które pójdą razem z requestem. Czyli jak przekazać coś jak "parameters" z przykładu w trakcie zdażenia onInitialization do requesta? Nikt nie ma pomysłu? To w sumie jest bardzo ważna i przydatna funkcjonalność. Nie da się czegoś takiego zrobić? Ten post edytował xamil 9.08.2006, 07:39:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Upchnij to w funkcję a potem ją wywołaj.
Na przykład: Kod function editLabel( strMode, intLabelId )
{ advAJAX.get({ url: "?module=Labels&action=EditLabel", "strMode" : strMode, "labelId" : intLabelId, onSuccess : function( obj ) { document.getElementById( 'contentContainer' ).innerHTML = obj.responseText; }, onError : function( obj ) { document.getElementById( 'contentContainer' ).innerHTML = 'Nie udało się wczytać danych.'; } }); return false; } |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki bardzo za odzew ale nie bardzo rozumiem jak to ma pomóc. Bo ja np. nie wiem czy to będzie jeden parametr czy 10. Może innaczej bo w sumie to nie wiem jak się wysłowić z tym co chce zrobić;)
Czasem kod ma odzwierciedlać coś takiego: Kod advAJAX.get({ A czasem coś takiego:url: "http://www.example.com/page.html", parameters : { "var1" : "value1", "var2" : "value2" }, onSuccess : function(obj) { alert(obj.responseText); }, }); Kod advAJAX.get({ Czyli liczba parametrów jest zmienna bo np. pobieram je z jakiejś tablicy. Po prostu nie wiem jak np. łączyć jakieś bloki JSON. Czyli czy jest np. możliwość stworzenia czegoś w tym stylu:url: "http://www.example.com/page.html", parameters : { "var1" : "value1", "var2" : "value2" "var3" : "value3" "var4" : "value4" "var5" : "value5" "var6" : "value6" }, onSuccess : function(obj) { alert(obj.responseText); }, }); Kod var json='' Wiem, wiem herezja ale moze oddałem idee;)for(i=0; i<tablica.length;i++) { json=json+'{\"var'+i+'\" : \"'+tablica[i]+'\"}' } advAJAX.get({ url: "http://www.example.com/page.html", parameters : { +json+ }, onSuccess : function(obj) { alert(obj.responseText); }, }); W teorii jeśli by to była czysto tablica to mógłbym odpowiednio link spreparować i taki link wkleić do requesta advAjax ale wydaj mie się to nie ładnym rozwiązaniem. |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ku kurcze, jak nie wiesz ile będzie elementów to nie rób ich list bardzo długiej, tylko sobie tablice prześlij.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ok to teraz już całkiem głupie pytanie. Jak przesłać tablice?(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Spróbowałem czegoś takiego: Kod zenek=new Array('aa','bb','cc') advAJAX.post({ url: "http://www.example.com/page.html", parameters : { "zenek" : zenek }, onSuccess : function(obj) { alert(obj.responseText); }, }); Wtyczka do ff - firebug - pokazała mi ze postem zostało posłane coś takiego: Kod zenek=aa&zenek=bb&zenek=cc No i niestety w $_REQUEST php słusznie się pojawiło, coś takiegoKod ["zenek"]=> string(2) "cc" Czyli po prostu przypisał tablicy zenek tylko ostatnią warstość w ciągu bo jak już coś to powinno byćKod zenek[]=aa&zenek[]=bb&zenek[]=cc Czyli ponawiam pyatnie. Jak przesłać tablicę? Poza tym o ile na tą chwile ewentualne posłanie tablicy wchodzi w grę o tyle fakt posłania różnej ilości nie znanych w momencie definiowania parametrów napewno też może być potrzebna. Czyli nie, że sobie wrzuce do jednej tablicy wszystkie parametry i wyciągając z REQUEST będę musiał je najpierw wyciągnąć z tej tablicy tylko, ze te parametry będą dostępne bezpośrednio w $_REQUEST Dobra ostatni raz się przypominam o mojej sprawie;) Czy ktoś może mi powiedzieć czy da się coś takiego zrobić czy się nie da? Nie da się to ok ale niech ktoś to powie bo tak to będę w nieskończoność szukał i się zastanawiał(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
AdvancedAJAX 1.1.2 - AJAX + JSON
Cytat (...) pozwala na korzystanie z serializacji JSON na zmiennych każdego typu, dostępnych w JavaScript, wliczając tablice (array) i obiekty (object) (...)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ["c"]=> Nie rozumiem tego. Może źle myślę ale przecież nadal nie otrzymuję w php tablicy? Jak źle myślę to czy może mi ktoś to łopatologicznie objaśnić?string(7) "[3,2,1]" ["d"]=> string(22) "{"d1":4,"d2":5,"d3":6}" -- Może jeszcze innaczej. Mam funkcję ogólną wykonującą zapytania:
Pozostałe rzeczy mam ustawione przez metodę advAJAX.setDefaultParameters dzięki czemu nie muszę 30 razy pisać tego samego. Są jednak zapytania które wymagają np. jakiejś dodatkowej operacji po wykonaniu zapytania. Stąd zmienna parameters. Chciałbym moć w niej podać jako JSON inne parametry np. całą funkcję OnSuccess. Kod onSuccess : function(obj) { alert('działa'); } No i jak to przekazać do wywołania advAJAX.post z pierwszego przykładu? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 0 Dołączył: 9.03.2006 Skąd: Columbus Georgia Ostrzeżenie: (0%) ![]() ![]() |
Dzięki bardzo za odzew ale nie bardzo rozumiem jak to ma pomóc. Bo ja np. nie wiem czy to będzie jeden parametr czy 10. Może innaczej bo w sumie to nie wiem jak się wysłowić z tym co chce zrobić;) Czasem kod ma odzwierciedlać coś takiego: Kod advAJAX.get({ A czasem coś takiego:url: "http://www.example.com/page.html", parameters : { "var1" : "value1", "var2" : "value2" }, onSuccess : function(obj) { alert(obj.responseText); }, }); Kod advAJAX.get({ Czyli liczba parametrów jest zmienna bo np. pobieram je z jakiejś tablicy. Po prostu nie wiem jak np. łączyć jakieś bloki JSON. Czyli czy jest np. możliwość stworzenia czegoś w tym stylu:url: "http://www.example.com/page.html", parameters : { "var1" : "value1", "var2" : "value2" "var3" : "value3" "var4" : "value4" "var5" : "value5" "var6" : "value6" }, onSuccess : function(obj) { alert(obj.responseText); }, }); Kod var json='' Wiem, wiem herezja ale moze oddałem idee;)for(i=0; i<tablica.length;i++) { json=json+'{\"var'+i+'\" : \"'+tablica[i]+'\"}' } advAJAX.get({ url: "http://www.example.com/page.html", parameters : { +json+ }, onSuccess : function(obj) { alert(obj.responseText); }, }); W teorii jeśli by to była czysto tablica to mógłbym odpowiednio link spreparować i taki link wkleić do requesta advAjax ale wydaj mie się to nie ładnym rozwiązaniem. No wlasnie to jest problem z podjeciem prototype, ktory w takich sytuacjach zawodzi i komplikuje rozwiazanie .... Juz dawno zrezygnowalem z tego podjecia, bo przy bardziej zlozonych objektach sa tylko problemy .. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dobra ja niestety nie jestem zbyt dobry w te klocki więc za bardzo nie wiem o co chodzi. Jedyne co potrzebuje to dwie odpowiedzi
1. Czy da sie tak zrobić a jak się da to jak? 2. Jeśli się nie da to co zrobic aby się dało (albo jak obejść problem)? p.s. Dzięk za odzew... temat moze juz stary ale dalej nie mam rozwiązania i robię to baaardzo na około. Ten post edytował xamil 12.09.2006, 07:03:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 04:25 |