[ajax] jak zacząć z XMLem, problem rozwiązany |
[ajax] jak zacząć z XMLem, problem rozwiązany |
28.03.2006, 09:23:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) |
Witam, mam problem, a mianowicie chciałbym dynamicznie zmieniac jakieś elementy strony i nie ma problemu, zebym użył do tego celu XML, póki co używam czegos takiego w JS:
Kod advAJAX.get({ url: "look.php?symbol="+p, tag: "symbol" }); advAJAX.get({ url: "look.php?rozmiar="+p, tag: "rozmiar" }); advAJAX.get({ url: "look.php?skora="+p, tag: "skora" }); advAJAX.get({ url: "look.php?fotoD="+p, tag: "fotoD" }); advAJAX.get({ url: "look.php?link="+p, tag: "zapytanie" }); o wiele lepiej byloby utworzyć mi plik XMLa i przesłać go do przeglądarki tylko jak określi gdzie ma zostac użyty jaki znacznik?? Ma ktoś moze przykładowy plik z XMLem?? P.S. rozumie, ze jakis parser XML. P.S.2. znalazłem http://advajax.anakin.us/phpsolutions/2.js ale troche nie czytelny dla mnie ten kod Ten post edytował chomiczek 31.03.2006, 10:03:00 -------------------- created by chomiczek
|
|
|
28.03.2006, 13:29:21
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) |
Tak - będzie Ci potrzebny parser XML. Łukasz Lach bardzo elegancko to zrobił i z takiego rozwiązania należy korzystać. Skoro mówisz, że skomplikowany przykład to zobacz na tego posta i na funkcję JS parseRecords(xml). Nie zapomnij przy generowaniu plik XML o odpowiednich nagłówkach:
Powodzenia -------------------- |
|
|
28.03.2006, 13:40:34
Post
#3
|
|
Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) |
to akurat juz przerobiłem teraz chodzi mi o stworzenie prostego parsera:
przykładowy kod XML mam tutaj http://karamanski.pl/advAJAX/look.php?symbol=2 jak pokazać teraz na stronie to co biore z XMLa?? -------------------- created by chomiczek
|
|
|
28.03.2006, 13:51:53
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) |
Cytat The XML page cannot be displayed An invalid character was found in text content. Error processing resource 'http://karamanski.pl/advAJAX/look.php?symbol=2'.... Najpierw popraw aby był to poprawny kod XML. Chyba nie za bardzo przyjżałeś się funkcji parsera: Kod function parseRecords(xml) { var opttypes = document.getElementById("gminy"); record = xml.getElementsByTagName("record"); ID = new Array(); nazwa = new Array(); for (i = 0; i < record.length; i++) { nazwa[i] = record[i].childNodes[1].childNodes[0].nodeValue; ID[i] = record[i].childNodes[0].childNodes[0].nodeValue; } gdzie xml to obiekt obj.responseXML. i masz: pobierasz wszystkie record y (główne węzły): Kod record = xml.getElementsByTagName("record"); a późneiej w pętli przelatujesz przez każdego i pobierasz jego pierwszą i drugą wartość: Kod nazwa[i] = record[i].childNodes[1].childNodes[0].nodeValue; ID[i] = record[i].childNodes[0].childNodes[0].nodeValue; struktura XML w tym przypadku wyglada tak: Kod <record> //record[i] <ID>Identyfikator</ID> //record[i].childNodes[0].childNodes[0].nodeValue; <name>nazwa</name> //record[i].childNodes[1].childNodes[0].nodeValue; </record> Teraz jaśniej ? -------------------- |
|
|
28.03.2006, 14:20:26
Post
#5
|
|
Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) |
sądziłem, że już po problemie, a okazuje sie, ze jednak nie:
tutaj mam XMLa: http://karamanski.pl/advAJAX/look.php?symbol=1 tym plikiem przetwarzam look.php http://karamanski.pl/advAJAX/obuwie.php
ma ktoś jakis pomysł? pod IE widze błąd: Obiekt nie obsługuje tej właściwości lub metody. Prawie sobie poradziłem, brakowało VAR:
Problem jest jeśli che użyć: Cytat $("ozn").innerHTML = 'dasdasd'; wywala komunikat: o oczekiwanym obiekcie w linii z powyższym kodem. Ten post edytował chomiczek 28.03.2006, 15:44:31 -------------------- created by chomiczek
|
|
|
29.03.2006, 11:50:42
Post
#6
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) |
@chomiczek - sprawdz co robi funkcja $() (zakladam ze poslugujesz sie w tym wypadku funkcja napisana przez Anakina), a potem spojrz co Ty podajesz jako argument tej funkcji.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
31.03.2006, 09:33:13
Post
#7
|
|
Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) |
Właściwie to nie wiem co masz na myśli, bo patrząc na przykładowy plik http://advajax.anakin.us/phpsolutions/2.js znajduje w nim:
i tak naprawdę nie wiem czym ten zapis miałby sie różnić od mojego. P.S. A może napiszesz mi co powinnienem napisać?? -------------------- created by chomiczek
|
|
|
31.03.2006, 09:40:54
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) |
A masz wogóle funkcję $:
Kod function $(id){
return document.getElementById(id); } -------------------- |
|
|
31.03.2006, 10:02:37
Post
#9
|
|
Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) |
hehe.. dzięki TomASS.. juz działa.. PZDR
-------------------- created by chomiczek
|
|
|
Wersja Lo-Fi | Aktualny czas: 5.06.2024 - 08:51 |