3miel
22.04.2006, 09:08:09
Witam,
zamierzam korzystac z technologi AJAX tylko chce się was poradzić, która biblioteka czy to to jest:P jest lepsza: advAJAX czy SAJAX?
Nie znam ich za bardzo, tylko w niewielkim stopniu.
Mozecie mi podać wady i zalety?
Mam nadzieje ze wielu osobom to pomoże!
TomASS
22.04.2006, 09:43:44
Sam musisz spróbować. Popatrz na przykłady i sam oceń.
advAJAX vs
SAJAX, popróbuj i sam oceń - dla mnie obydwa rozwiązania są równie dobre
3miel
22.04.2006, 13:19:42
Ja też uważam, że są dobre. Ale dalej nie mogę się zdecydować.
SAJAX jest dość skąplikowany (za dużo niepotrzebnych funkcji), natomiast advAJAX każdy skrypt php musi mieć w osobnym pliku (prawie, bo moge miec w 1 pliku wszytkie, ale byłbym zmuszony używać switch).
A co Wy wybraliście?
TomASS
23.04.2006, 08:49:21
Ja używam obydwu

Cytat
SAJAX jest dość skąplikowany (za dużo niepotrzebnych funkcji),
Czy w moim przykładzie są jakieś 'niepotrzebne' funkcje?
Cytat
advAJAX każdy skrypt php musi mieć w osobnym pliku

Jak chcesz to masz, jak nie to nie
3miel
23.04.2006, 09:17:30
Z tymi niepotrzebnymi funkcjami to przesadziłem, ale jest ich wiecej niż w advAJAX.
A udało Ci się wykonać jakiś skrypt w advAJAX mając kod php bezpośrednio wjego funkcji? (advAJAX.get)

---------EDIT
mam do Ciebie prośbe, w jaki sposób przekazać zmienną (JS) do funkcji advAJAX?
TomASS
23.04.2006, 09:31:35
Cytat
A udało Ci się wykonać jakiś skrypt w advAJAX mając kod php bezpośrednio wjego funkcji? (advAJAX.get)

Nie za bardzo rozumiem :/
Cytat
mam do Ciebie prośbe, w jaki sposób przekazać zmienną (JS) do funkcji advAJAX?
tzn jak przeklazać do advAJAX?
może tak:
Kod
advAJAX.post({
url : "zapisz_kolor.php",
parameters:{
kolor: kolor,
id: '<?echo $_GET['id'];?>'
},
onSuccess : function(obj) {
}
});
gdzie 'kolor' to zmienna JS
3miel
23.04.2006, 10:09:22
Cytat
QUOTE
A udało Ci się wykonać jakiś skrypt w advAJAX mając kod php bezpośrednio wjego funkcji? (advAJAX.get)
Nie za bardzo rozumiem :/
Chodzi mi żeby w
onSuccess : function(obj) { umieścić zapytanie MySQL i oczywiscie w jakis sposób powiązać to z JS. I w tym miejscu (przypisania do JS mam zawsze problemy. Ale mniejsza o to:)
Dzięki za rade z JS, mój bląd polegał na przecinku w linijce ze zdeklarowaniem zmiennej, mam 1 zmienna wiec tam NIE MOZE być nic. Teraz już to powoli pojmuje:)
seaquest
23.04.2006, 11:03:32
3miel: ty milisz pojęcia. JS nie może się łączyć z bazą MySQL bezpośrednio.
advAJAX może uruchomić co najwyżej skrypt php, który wykona zapytanie i później ewentualnie zwróci je do JS poprzez obj.responseXML albo obj.responseText. Musisz pamiętać, że php nie potrafi współpracować interaktywnie z użytkownikiem. Schemat wygląda mniej więcej tak:
Kod
Użytkownik wpisuje adres (Request) -> serwer odbiera zapytanie, uruchamia skrypt php -> interpreter php wykonuje skrypt i zwraca wynik do serwera -> serwer wysyła gotową stronę do użytkownika
Nie da się zrobić tak, żeby php pracował podczas przeglądania strony! Od tego, żeby można było pobierać dane interaktywnie jest właśnie AJAX, tylko, że wygląda to tak samo jak na powyższym schemacie, tylko zamiast użytkownika masz tam
przeglądarkę AJAX.
3miel
23.04.2006, 12:24:24
Ja wiem co to jest AJAX i znam jego schemat działania (KŚ Ekspert). Ale jeżeli advAJAX kozysta z pliku, to dlaczego jego tresc nie moze być zawarta w funkcji?
Wiem co mi powiecie, ze musi przejsc przez advAJAX i tylko poprzez url się to da:)
Chciałem zrobić to po swojemu, ale nie wyszło, więc dostosuję się.
Tak czy inaczej korzystam teraz z advAJAX i musze powiedzieć, że mam z nim dużo problemów, ale nie wiem czy opłaca mi się mieszać i przerzucić się na SAJAX.
SAJAX ma taką przewage, że wszystko jest w normalnych funkcjach tak jak w zwykłym php tylko ze zwraca okresloną treść (return) i nie musi być w osobnym pliku. Dla mnie to wielkie ułatwienie, ale reszta obsługi tej biblioteki jest straszna.
TomASS
23.04.2006, 12:47:21
Pytałeś się co jest lepsze

I napisałem, że obydwa rozwiązania są ciekawe.
Musisz sam wybrać. Tylko chciałbym wiedzieć:
Cytat
mam z nim dużo problemów,
Jakich?
Cytat
reszta obsługi tej biblioteki jest straszna.
Dlaczego?
Są jeszcze inne biblioteki. Np:
moo.ajax
3miel
23.04.2006, 17:18:56
Cytat
Jakich?
Pop pierwsze dziwne zakończenia lini, jeszcze nigdy się nie spotkałem z przecinkami, kodowanie i takie malutkie szczegoly.
Cytat
Dlaczego?
Ponieważ kazda funkce php musze przekazac do SAJAXA i kożystać pozenij z niej jako x_funkcja, za dużo linijek kodu w różnych miejscach, i najgorsze ze kod SAJAXa musi byc w body, a w moim wypadku mam strone w której do wszystkich podstron jest identyczny nagłówek :/
Można się do tego dostosować, ale dużo kłopotów z tego bedzie.
Nie wiem czy opłca mi sie mieszać w głowie i użyć tej co podałeś, mozesz podać mi twoim znadniem jej atuty?
TomASS
23.04.2006, 18:34:40
Cytat
Pop pierwsze dziwne zakończenia lini, jeszcze nigdy się nie spotkałem z przecinkami, kodowanie i takie malutkie szczegoly.
Jeśli to jest dla Ciebie problem - to faktycznie - masz problem

Pewnie chciałbyś znak średnika ';' ale taki zanak oznacza już zakończenie linii w JS, więc w advAJAX musi być jakiś inny.
Cytat
Ponieważ kazda funkce php musze przekazac do SAJAXA i kożystać pozenij z niej jako x_funkcja
Każdą którą chcesz używać.
Cytat
i najgorsze ze kod SAJAXa musi byc w body
Naprawdę? Niezauważyłem.
Cytat
mam strone w której do wszystkich podstron jest identyczny nagłówek :/
Można się do tego dostosować, ale dużo kłopotów z tego bedzie.
To jest problem z projektem strony a nie z SAJAX.
Cytat
Nie wiem czy opłca mi sie mieszać w głowie i użyć tej co podałeś, mozesz podać mi twoim znadniem jej atuty?
Czy Ci się opłaca to sam zdecyduj. Jej atuty? Jest o tej klasie już topic - poszukaj
3miel
23.04.2006, 20:24:35
Cytat
QUOTE
i najgorsze ze kod SAJAXa musi byc w body
Naprawdę? Niezauważyłem.
pomyliłem się miało być w head

No bo jak już powiedziałem, każdą funkcje którą chcę wykorzystać musze przekazać do SAJAXa, a zeby to przekazać to najpierw musze mieć te funkcje, czyli w head.
Cytat
QUOTE
mam strone w której do wszystkich podstron jest identyczny nagłówek :/
Można się do tego dostosować, ale dużo kłopotów z tego bedzie.
To jest problem z projektem strony a nie z SAJAX.
No bo jak robiłem projekt to jeszcze nie słyszałem wogóle o AJAXie. Może to dlatego, że zacząłem ten projekt pare miesięcy temu i nie mam czasu go dokończyć.
Poszukam tych info o 3 klasie do AJAX, może akurat przypadnie mi do gustu:)
seaquest
24.04.2006, 14:30:48
Kod advAJAXa kończy się średnikiem, tylko, że w wywołaniu funckji przekazujesz tablicę, a elementy tablicy oddziela się "," nawet w php, więc advAJAX nie jest dziwny.
3miel. Owszem zapytanie możesz przesłać do pliku poprzez zmienną i odebrać wynik zapytania przygotowany przez plik, ale nie tak jak chciałeś to zrobić, dlatego napisałem Ci schemat działania.
Ale ma to jedną wadę. Zostawiasz otwartą bramę (nawet nie furtkę) na ataki na bazę danych.
3miel
24.04.2006, 14:35:12
Jeszcze nie przestudiowałem od strony kodu biblioteki advAJAX.
Wiem doskonale ze zostawiam otwartą brame... ale kozystam z tego do panelu admin. Dlatego szukam sposobu zeby pisac zapytania w głównej funkcji advAJAX.
seaquest
24.04.2006, 14:40:32
To nie rozumiem. Jeżeli piszesz panel admina dla ludzi, to to i tak wyjdzie. A jeżeli dla siebie, to po co pisać?
Nie trzeba wcale studiować kodu advAJAX (fajnie to brzmi, chyba napiszę anakinowi ;p), żeby wiedzieć, że elementy tablicy oddziela się przecinkami. Jest tak chyba w większości języków programowania.
A zapytania możesz przekazywać w inny sposób. Np. zdefiniować tablicę w php i jako paramatr wywołania w xmlhttp przekazywać numer zapytania w tablicy. Jakie proste, a o ile bezpieczniejsze.
3miel
26.04.2006, 14:33:28
Wiem, ze panel admin jest dla ludzi, ale dalczego wszyscy zakłądją, że każdy bedzie się próbował włąmać i od razu zniszczyć wszytko?
Wiem, że nie można w sieci kikomu ufać, ale bez przesady...

Wiem dobrze ze elementy tablicy oddziela się przecinkami, tylko nie wiedziałem, że w advAJAX jest to tablicą.
O bezpieczeństwie na ten temat jeszcze długo będzie się rozmawiać. Widze ze już zanlazłeś 1 dziure
seaquest, i widze ze juz umiesz sobie z nia poradzić.
Z tego co wiem to ta technika AJAX ( czyli połaczeniu kilku j. programowania) jest niedawno wykorzystywana przez szarych urzytkowników, więc jeszcze nie mam za duzo informacji oniej... ale poczekajmy pare miesięcy.
Vogel
26.04.2006, 15:10:34
Cytat(3miel @ 2006-04-26 15:33:28)
Wiem, ze panel admin jest dla ludzi, ale dalczego wszyscy zakłądją, że każdy bedzie się próbował włąmać i od razu zniszczyć wszytko?
Wiem, że nie można w sieci kikomu ufać, ale bez przesady...

eee... lepiej sie nastaw ze BDĄ. czasem z premedytacją, czasem przez niedbalstwo i głupote.
seaquest
26.04.2006, 17:18:39
Nie, tu niekoniecznie chodzi o ataki.
Programista niestety musi zakładać, że użytkownik jest brzydko mówiąc głupi. I może przypadkowo coś zdziałać niechcący.
Ale poza tym ataki też trzeba rozważyć. Może trafi się 999 osób, które nie zaatakują/wykorzystają dziury, ale trafi się 1, która wykona atak i masz po systemie. Pamiętaj, że takie ataki nie są raczej nastawione na wydobycie danych, tylko na ich niszczenie.
3miel
26.04.2006, 17:26:37
Nie miałem na myśli, żeby wogóle sie tym nie przejmować.
Na pewno będę dokładnie rozważał problem zabezpieczeń, ale chyba nie skupie się na tym i tylko tym! Wiem, ze to jest ważne, więc podejde do tego z jak największym doświadczeniem, ale inne moduły również musze elegancko wykonać.
akubiczek
29.04.2006, 22:05:03
Jak już musisz pisać programy, to pisz od razu tak aby było dobrze! A nie "jakoś to będzie". Jeżeli podchodzisz do tego poważnie, to przyjmij tą zasadę na całe życie.
3miel
30.04.2006, 14:35:05
Wiem:) Tylko ze niektórzy tak sie przejmują tą zasadą, ze logowanie i autoryzacje zrobią pierwsza klasa, a reszta aplikacji webowej jest do kitu! I o to mi chodzi, ze jak sie juz robi coś to W CAŁOSCI jak najlepiej. A autoryzacja, masz racje, jest jedą z ważniejszych, ale jak wczesniej wspomniałem, jezeli reszta bedzie do kitu, to powiedz mi po co ludzie bedą się włamywac:P? Wiem, że zawsze znajdzie się podów, dlatego masz racje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.