Autor | Zpráva | ||
---|---|---|---|
meca Profil |
#1 · Zasláno: 1. 12. 2006, 16:52:40
Zdravim,
asi to bude triviální, ale nevíte někdo, proč mi nefugnuje následující věc? === XML SOUBOR <srovnani> <la>Nokia 6800</la> <dva>Nokia</dva> <tri>5000 ,-</tri> </srovnani> === JS var xml = httpRequest.responseXML.getElementsByTagName('srovnani').firstChild.da ta; -------------------- Tedy, tato verze mi nefunguje vůbec, ale ani když jsem zkoušel z toho XML dostat údaje jinými způsobi, končilo to neúspěchem; většinou "undefined"... Avšak pokud dám: var xml = httpRequest.responseTEXT; alert(xml); vyskočí mi ten XML soubor. Děkuji mnohokrát. |
||
Dero Profil |
#2 · Zasláno: 1. 12. 2006, 16:57:43
Zkus toto (zapomínáš vybrat konkrétní prvek "srovnani", i když je jen jeden):
var xml = httpRequest.responseXML.getElementsByTagName('srovnani')[0].firstChild .data; |
||
meca Profil |
#3 · Zasláno: 1. 12. 2006, 17:00:53
Dero
Jo, dik, už mi to nehází chybu ;) Avšak stále mi to hází undefined :-/ |
||
Dero Profil |
#4 · Zasláno: 1. 12. 2006, 17:04:40
meca: Myslím, že se snažíš vybrat obsah prvku. V tom případě použij raději:
.firstChild.nodeValue; |
||
meca Profil |
#5 · Zasláno: 1. 12. 2006, 18:08:45
[b]Dero[/b]
No, teď je to "null" :-/ |
||
Timy Profil |
#6 · Zasláno: 1. 12. 2006, 18:14:55
meca
Hele a co se vlastně z toho XML snažíš dostat? |
||
meca Profil |
#7 · Zasláno: 1. 12. 2006, 18:48:30
Timy
No pro začátek třeba to "Nokia 6800" ... pak už se to nějak odvodí ;) |
||
Timy Profil |
#8 · Zasláno: 1. 12. 2006, 18:50:11
meca
var xml = httpRequest.responseXML.getElementsByTagName('la')[0].firstChild .data; neprojde? |
||
meca Profil |
#9 · Zasláno: 1. 12. 2006, 18:54:11
Timy
I love you, my baby. I love you, my Timy! Prochází, dik ;) |
||
meca Profil |
#10 · Zasláno: 1. 12. 2006, 19:04:23
Timy
Hm, tak jinak. V Opeře to funguje, ale v IE a ve FF to očekává objekt, respektive nemá properaties :-( |
||
Dero Profil |
#11 · Zasláno: 1. 12. 2006, 19:07:28
var xml = httpRequest.responseXML.getElementsByTagName('srovnani')[0].childNodes [0].firstChild.nodeValue;
By mělo fungovat všude. |
||
meca Profil |
#12 · Zasláno: 1. 12. 2006, 19:11:38
Dero
Mě po**r velbloude. To funguje jenom v IE ;) Asi error in dar Matrix. |
||
Dero Profil |
#13 · Zasláno: 1. 12. 2006, 19:15:08
meca: Tak pak už Ti můžu poradit asi jen zkusit použít lastChild místo firstChild - a pokud ani to nepůjde, tak nám budeš muset ukázat ten kód naživo.
|
||
meca Profil |
#14 · Zasláno: 1. 12. 2006, 19:18:23
Ha, mam další poznatek. V rámci kreativní nezdůvodněné činnosti mě napadlo dáti místo childNodes[0] childNodes[1]... A ejhle. Opera & FF: OK, IE KO ... :-/
|
||
Dero Profil |
#15 · Zasláno: 1. 12. 2006, 19:21:37
meca: Prosím, mohl bys nám ukázat ten kód? Pravděpodobně děláš nějakou drobnost špatně nebo jsi prostě něco přehlédl. Bylo by lepší neimprovizovat, aby se to na Tebe ve výsledku nesesunulo.
|
||
los Profil * |
#16 · Zasláno: 1. 12. 2006, 19:22:08
v IE a ve FF to očekává objekt, respektive nemá properaties
A ktorý objekt nemá vlastnosti? Hneď ten element srovnani (httpRequest.responseXML.getElementsByTagName('srovnani')[0])? Je vôbec v IE nahraný responseXML (responseXML.documentElement != null)? |
||
meca Profil |
#17 · Zasláno: 1. 12. 2006, 19:27:43
Dero
Here you are: function porovnani_vysledek () { if (httpRequest.readyState == 4) { if(httpRequest.status == 200) { var xml = httpRequest.responseXML.getElementsByTagName('srovnani')[0].childNodes [1].lastChild.nodeValue; alert("Pojed prďka:" + xml); } else { alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText); } } } function porovnani() { var url = '/zbozi/srovnani.php'; httpRequest.open("GET", url, true); httpRequest.onreadystatechange= function () {porovnani_vysledek(); } ; httpRequest.send(null); } |
||
Dero Profil |
#18 · Zasláno: 1. 12. 2006, 19:31:19
meca: Spíš jsem myslel odkaz na stránku, kde je možno skript vidět v "akci". Abych si mohl ověřit, jestli se Ti opravdu vrací XML a hlavně v jakém formátu.
|
||
meca Profil |
#19 · Zasláno: 1. 12. 2006, 19:45:08
Dero
Já si to myslel.. to bude trochu problém, zkusim to nějak po zprávách vypreparovat :)) |
||
meca Profil |
#20 · Zasláno: 1. 12. 2006, 20:14:13
Dero
... http://www. elektrus.cz/bla/special.php |
||
Chamurappi Profil |
#21 · Zasláno: 1. 12. 2006, 21:31:12
Tipuji: problém bude v tom, že enter za značkou <srovnani> může být firstChild dotyčného elementu.
|
||
meca Profil |
#22 · Zasláno: 2. 12. 2006, 08:49:23
Chamurappi
Ehm... Jenže co s tim? :-/ |
||
meca Profil |
#23 · Zasláno: 2. 12. 2006, 15:36:24
Mně se chce brečet. Již jsem pochopil to od Chamurappiho a je pravdou, že odstraněním mezer jsme se někam dostali - už to funguje v IE i ve FF. Opera stále protestuje, že prý "Could not converd undefined or null to object" :-/
|
||
Dero Profil |
#24 · Zasláno: 2. 12. 2006, 15:50:23
Tak už vážně nevím, zkus to takto obecně:
var xml = httpRequest.responseXML.getElementsByTagName('la')[0]; for (var i = 0; i < xml.childNodes.length; i++) { if (xml.childNodes[i].nodeType == 3) { xml = xml.childNodes[i].nodeValue; break; } } |
||
meca Profil |
#25 · Zasláno: 2. 12. 2006, 16:10:16
Dero
Bohužel... Ale hele, ted mi tu někdo tvrdí, že getElementsByTagName Opera neumí. Je to možný? |
||
Dero Profil |
#26 · Zasláno: 2. 12. 2006, 16:16:28
Bohužel... Ale hele, ted mi tu někdo tvrdí, že getElementsByTagName Opera neumí. Je to možný?
Ne. |
||
meca Profil |
#27 · Zasláno: 2. 12. 2006, 16:24:55
Dero
Tak mi aspon potvrdi, že je to Chyba v Matrixu a taky ti to nefunguje, at se na to můžu s chladnou hlavou vykašlat... Pač už mě to štve :-/ Kdybych to tak nepotřeboval ;) |
||
Dero Profil |
#28 · Zasláno: 2. 12. 2006, 16:39:23
meca: Zkoušel jsem ten svůj poslední kód a funguje mi. Respektive není možné, aby nefungoval. Odzkoušej ho znovu.
var xml = httpRequest.responseXML.getElementsByTagName('item1')[0]; for (var i = 0; i < xml.childNodes.length; i++) { if (xml.childNodes[i].nodeType == 3) { xml = xml.childNodes[i].nodeValue; break; } } alert(xml); |
||
meca Profil |
#29 · Zasláno: 2. 12. 2006, 16:47:37
Dero
No v Opeře se mi to prostě nerozběhne... |
||
Dero Profil |
#30 · Zasláno: 2. 12. 2006, 16:49:53
|
||
Téma pokračuje na další straně.
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0