AJAX+XML+PHP
Flipi - 26-11-2006 00:18
AJAX+XML+PHP
Witam,
Mam taki problem skopiowałem sobie skrypt z tutoriala biblioteki advAJAX - http://advajax.anakin.us/phpsolutions/2.html Skrypt działa na IE i FF bez problemu.
Napisałem sobie własny skrypt pobierający dane z bazy no i działa na FF a na IE wyskakuje błąd: Line:16 Char:13 Code:0 Error:'null' jest pusty lub nie jest obiektem
Skrypt pobierający dane z bazy: $connection=@mysql_connect($host, $login_baza, $haslo_baza); $db=@mysql_select_db($baza, $connection); $max_per_page=10; if (!$_GET['p']) $page=0; else $page=$_GET['p']; $sql1="SELECT * FROM uts_clients ORDER BY id_user"; $sql2="SELECT * FROM uts_clients ORDER BY id_user LIMIT ".($max_per_page*($page)).", $max_per_page"; $res1=mysql_query($sql1); $res2=mysql_query($sql2); $i=0; while ($row=mysql_fetch_array($res2)) { if ($i==0) $wynik="<?xml version=\"1.0\" ?><records total=\"".mysql_num_rows($res1)."\" count=\"".(mysql_num_rows($res2))."\" max_per_page=\"$max_per_page\" page=\"".$page."\">"; $wynik.="<record><name>".$row['login']."</name><surname>".$row['login']."</surname><telephone>".$row['login']."</telephone></record>"; $i++; } echo $wynik."</records>";
Dostęp do pliku JS przetwarzającego dane XML jest tutaj http://advajax.anakin.us/phpsolutions/2.html
W zasadzie nie wiem czy jest to problem wygenerowanego stringu danych z PHP czy może coś z tym formatem XML jest źle albo funkcja przetwarzająca dane coś maści?
Z góry dzięki za jakieś wskazówki.
Pozdrawiam, Flipi
toudidel - 26-11-2006 00:18
co w IE zwraca responseText obiektu xmlhttprequest?
[BuKoX] - 26-11-2006 00:18
Flipi napisał(a):
> W zasadzie nie wiem czy jest to problem wygenerowanego stringu danych z > PHP czy może coś z tym formatem XML jest źle albo funkcja przetwarzająca > dane coś maści?
Generalnie polecam stosowanie formatu Json zamiast XML'a do przesylania danych. Jest znacznie szybciej parsowany przez JS (bo poprzez zwykle eval) a mozna w nim zakodowac stringi, tablice, obiekty.
pozdrawiam...
-- __ __ _______________________________________ |__\\ | || |_// / \\ \_// Portfolio: http://bukox.pl | |__// |__|| | \\ \__// / \\__Total Commander: http://totalcmd.pl /
Flipi - 26-11-2006 00:18
toudidel napisał(a): > co w IE zwraca responseText obiektu xmlhttprequest? > > ResponseXML zwraca object. Natomiast próba dostania się do pierwszego elementu (za pomocą xml.getElementsByTagName("records").item(0) ) z xml zwraca null.
toudidel - 26-11-2006 00:18
a co zwraca responseText?
Flipi - 26-11-2006 00:18
toudidel napisał(a): > a co zwraca responseText? > > <?xml version="1.0" ?><records total="882" count="10" max_per_page="10" page="0"><record><name>Olga</name><surname>Olga</surname><telephone>Olga</telephone></record><record><name>Silv</name><surname>Silv</surname><telephone>Silv</telephone></record><record><name>alegiugno</name><surname>alegiugno</surname><telephone>alegiugno</telephone></record><record><name>jmv</name><surname>jmv</surname><telephone>jmv</telephone></record><record><name>ainaH</name><surname>ainaH</surname><telephone>ainaH</telephone></record><record><name>yuribala</name><surname>yuribala</surname><telephone>yuribala</telephone></record><record><name>paolo</name><surname>paolo</surname><telephone>paolo</telephone></record><record><name>silvermada</name><surname>silvermada</surname><telephone>silvermada</telephone></record><record><name>ninajoergensen</name><surname>ninajoergensen</surname><telephone>ninajoergensen</telephone></record><record><name>etodadze</name><surname>etodadze</surname><telephone>etodadze</telephone></record></records>
szomiz - 26-11-2006 00:18
Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości news:ecf0jd$ok0$1@nemesis.news.tpi.pl... > toudidel napisał(a): >> a co zwraca responseText? > <?xml version="1.0" ?><records total="882" count="10" max_per_page="10"
A co zwraca .getAllResponseHeaders() ?
sz.
Flipi - 26-11-2006 00:18
szomiz napisał(a): > Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości > news:ecf0jd$ok0$1@nemesis.news.tpi.pl... >> toudidel napisał(a): >>> a co zwraca responseText? >> <?xml version="1.0" ?><records total="882" count="10" max_per_page="10" > > A co zwraca .getAllResponseHeaders() ? > > sz. > > obj.getAllResponseHeaders() zwraca undefined ale to raczej dlatego że w bibliotece advAjax nie ma czegoś takiego.
Pozdrawiam, Flipi
szomiz - 26-11-2006 00:18
Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości news:ecf1ir$s00$1@nemesis.news.tpi.pl... > szomiz napisał(a): >> Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości >> news:ecf0jd$ok0$1@nemesis.news.tpi.pl... >>> toudidel napisał(a): >>>> a co zwraca responseText? >>> <?xml version="1.0" ?><records total="882" count="10" max_per_page="10" >> >> A co zwraca .getAllResponseHeaders() ? >> >> sz. > obj.getAllResponseHeaders() zwraca undefined ale to raczej dlatego że w > bibliotece advAjax nie ma czegoś takiego.
ale xmlhhtprequest (przynajmniej ten z IE) ma taka metode
sz.
Flipi - 26-11-2006 00:18
[BuKoX] napisał(a): > Flipi napisał(a): > >> W zasadzie nie wiem czy jest to problem wygenerowanego stringu danych >> z PHP czy może coś z tym formatem XML jest źle albo funkcja >> przetwarzająca dane coś maści? > > Generalnie polecam stosowanie formatu Json zamiast XML'a do przesylania > danych. Jest znacznie szybciej parsowany przez JS (bo poprzez zwykle > eval) a mozna w nim zakodowac stringi, tablice, obiekty. > > pozdrawiam... > A możesz polecić jakiś stronę przykładami jak to wykorzystać w komunikacji php->JSON->Ajax. Chodzi mi o to głownie jak przekazać wartości i jak je ewentualnie obrobić do wyświetlenia.
Pozdrawiam, Flipi
Flipi - 26-11-2006 00:18
szomiz napisał(a): > Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości > news:ecf1ir$s00$1@nemesis.news.tpi.pl... >> szomiz napisał(a): >>> Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości >>> news:ecf0jd$ok0$1@nemesis.news.tpi.pl... >>>> toudidel napisał(a): >>>>> a co zwraca responseText? >>>> <?xml version="1.0" ?><records total="882" count="10" max_per_page="10" >>> A co zwraca .getAllResponseHeaders() ? >>> >>> sz. >> obj.getAllResponseHeaders() zwraca undefined ale to raczej dlatego że w >> bibliotece advAjax nie ma czegoś takiego. > > ale xmlhhtprequest (przynajmniej ten z IE) ma taka metode > > sz. > > no to zwaraca [object]
Flipi
[BuKoX] - 26-11-2006 00:18
Flipi napisał(a):
> A możesz polecić jakiś stronę przykładami jak to wykorzystać w > komunikacji php->JSON->Ajax. Chodzi mi o to głownie jak przekazać > wartości i jak je ewentualnie obrobić do wyświetlenia.
Pierwsze linki w google: http://www.json.org/ http://pl.wikipedia.org/wiki/JSON
W skrocie korzystasz z bibliteki json w js i php, kodujesz zwracane dane po stronie php i odkodowujesz po stronie js.
pozdrawiam...
-- __ __ _______________________________________ |__\\ | || |_// / \\ \_// Portfolio: http://bukox.pl | |__// |__|| | \\ \__// / \\__Total Commander: http://totalcmd.pl /
szomiz - 26-11-2006 00:18
Użytkownik "Flipi" <flipi.no@spam.poczta.fm> napisał w wiadomości news:ecf1s2$rsq$2@nemesis.news.tpi.pl...
>>> obj.getAllResponseHeaders() zwraca undefined ale to raczej dlatego że w >>> bibliotece advAjax nie ma czegoś takiego. >> >> ale xmlhhtprequest (przynajmniej ten z IE) ma taka metode >> > no to zwaraca [object]
Poddaje sie :/
sz.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
Delphi for PHP Borlanda - co =?ISO-8859-2?Q?s=B1dzicie_o_tym?==?ISO-8859-2?Q?_pakiecie=3F?=
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
mysql+php - =?ISO-8859-2?Q?wydajno=B6=E6_przy_olbrzymiej_i?==?ISO-8859-2?Q?lo=B6ci_rekord=F3w?=
[MySQL] - Wstawianie aktualnej daty do bazy danych - PHP i MySQL
Jedno zapytanie różne wyniki w polu data [mysql i mysql+php]
[MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną
Rozwijany tekst jak z http://www.punters.pl/typy.php
[PHP] wysylanie pliku na serwer, a inkrementacja nazwy plikow
=?iso-8859-2?q?wy=B6wietlenie_wynik=F3w_SELECTa_w_php?=
zanotowane.pldoc.pisz.plpdf.pisz.pldirtyboys.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|