Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ajax i pobieranie xml'a z php
filo
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.12.2007

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


Witam, mam następujący problem. Gdy wyodrębnie potomków obiektu <response> w poniższy sposób, kod zadzaiała pod Operą & FF, natomiast już nie pod IE (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) . Gdyby zrobić to tylko jako <response> bez potomków, jako jeden ciąg znaków działa bez problemu.. chodzi o to że php zwraca mi więcej niż jedną wartość i zależy mi na tym aby były one rozdzielone, więc 'działający sposób' odpada..

jak sprawić aby poniższy kod zadziałał również pod IE? lub jak inaczej pobrać potomków obiektu <response>?

...

//wyodrębnia wiadomosc xml z serv.
xmlResponse = xmlHttp.responseXML;

//pobiera el. glowny ze struktury xml
xmlDocumentElement = xmlResponse.documentElement;



tilesizeArray = xmlDocumentElement.getElementsByTagName("tilesize");
tilesize_todisplay = tilesizeArray.item(0).firstChild.data;

crownheightArray = xmlDocumentElement.getElementsByTagName("crownheight");
crownheight_todisplay = crownheightArray.item(0).firstChild.data;

crownangleArray = xmlDocumentElement.getElementsByTagName("crownangle");
crownangle_todisplay = crownangleArray.item(0).firstChild.data;

baseheightArray = xmlDocumentElement.getElementsByTagName("baseheight");
baseheight_todisplay = baseheightArray.item(0).firstChild.data;

baseangleArray = xmlDocumentElement.getElementsByTagName("baseangle");
baseangle_todisplay = baseangleArray.item(0).firstChild.data;

warningArray = xmlDocumentElement.getElementsByTagName("warning");
warning_todisplay = warningArray.item(0).firstChild.data;



document.getElementById("divTileSize").innerHTML ='<i><font color="red">' + tilesize_todisplay + '</font>% </i>';
document.getElementById("divCrownHeight").innerHTML ='<i><font color="red">' + crownheight_todisplay + ' </font>% </i>';
document.getElementById("divCrownAngle").innerHTML ='<i><font color="red">' + crownangle_todisplay + '</font>&deg</i>';
document.getElementById("divBaseHeight").innerHTML ='<i><font color="red">' + baseheight_todisplay + ' </font>% </i>';
document.getElementById("divBaseAngle").innerHTML ='<i><font color="red">' + baseangle_todisplay + ' </font>&deg </i>';
document.getElementById("divWarning").innerHTML = '<i><font color="red">' + warning_todisplay + ' </font></i>';

...

z góry dzięki za pomoc! pozdrawiam. (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował filo 19.12.2007, 02:51:14
Go to the top of the page
+Quote Post
MMX3
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 9
Dołączył: 26.01.2004
Skąd: Poznań

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


ale po co to z palca pisać. jQuery polecam. Pełno pluginów i pełna dokumentacja. Działa we wszystkich przeglądarkach. Tak to już jest że MSIE6 będzie to 2020 roku przeklinana przez webmasterów. A samo jej istnienie będzie opóźniało rozwój sieci.

a co do IE to obiekt musiał byś zmienić na
  1. xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");


takie życie.
Go to the top of the page
+Quote Post
Garrappachc
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 2
Dołączył: 15.11.2007
Skąd: Kraków

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


[xml][/xml]
  1. [/html][php][/php]
    1. [/sql][html]</div></li></ol><div class="foot">[HTML] <a href='./Pobierz-Plik-86000.html'>pobierz</a>, <a href='Plaintext-86000.html'>plaintext</a> </div></pre><!--/Geshi:86000:html-->[html][/html][sql]
    [sql][/sql][php][/php]
Go to the top of the page
+Quote Post
filo
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.12.2007

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


obiekt już jest jako 'xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"),tak dla IE jest poprawnie, niemniej jednak wydaje mi sie ze zależy to od części kodu znajdującej sie powyżej.. bo jak napisałem gdy przekazuje sam parametr response w sposób powiedzmy taki:

msg = xmlDocumentElement.firstChild.data;

document.getElementById("divMsg").innerHTML = '<i> + msg + </i>';


w przypadku xml'a typu: <response>msg</response> .. jest ok, natomiast ja mam coś takiego:

<response><potomek1>msg1</potomek1><potomek2>msg2</potomek2></response> i staram sie wyodrębnić elementy msg1 i msg2

Ten post edytował filo 20.12.2007, 12:54:45
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 08:45