» »

[javascript] XML problem

[javascript] XML problem

Yacked2 ::

Živjo,

delam spletno stran, kjer bi z javascriptom moral potegniti podatke iz URLja:
http://EnaDrugaSpletnaStran/xml/?arg1=2...

če ta link kopiram v URL mi prikaže v taki obliki:
<?xml version="1.0" encoding="utf-8"?>
<timetable>
<lessons hour="1">
	<a>podatek1</a>
	<b>podatek2</b>
	<c>podatek3</c>
</lessons>
</timetable>


Ima kdo kakšno idejo kako te podatke iz XML strani dobiti v mojo skripto za nadalno obdelavo ?'

Hvala za nasvete,
Yacked2
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

111111111111 ::

Z javascriptom bo težka. Uporabi jQuery.

Če pa ima kdo rešitev v javascriptu se pa toplo priporočam. :)

k--p ::

Če uporabljaš jQuery lahko z $.ajax() funkcijo.

edit: zgleda da je nekdo že pred mano odgovoril. Z javascriptom lahko stvar resis z http requesty, na stackoverflowu imaš rešitve ...

Zgodovina sprememb…

  • spremenilo: k--p ()

Yacked2 ::

111111111111 je izjavil:

Z javascriptom bo težka. Uporabi jQuery.

Če pa ima kdo rešitev v javascriptu se pa toplo priporočam. :)


Nažalost dostopa do serverja nimam, tako da je ta link vse kar imam, če v URL nalepim ta link mi vn vrže XML stran
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Zgodovina sprememb…

  • spremenil: Yacked2 ()

k--p ::

Link do datoteke xml je vse kar rabiš.

Poglej si:
http://net.tutsplus.com/tutorials/javas...

Yacked2 ::

k--p je izjavil:

Link do datoteke xml je vse kar rabiš.

Poglej si:
http://net.tutsplus.com/tutorials/javas...


Sedaj imam na localhostu tako:
<html>
	<head>
		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
	</head>
	<body>
		<script>
		function GetData()
		{
			$.get( "http://tracker.spletnastran.si/xml/?date=2013-10-10&class=4A", function( data ) {
					alert(data);
				});					
		}
		
			
		</script>
	
		<input id="domov" type="button" value="Domov" onclick="GetData();" />


	</body>
</html>



ko pritisnem na gumb, se ne zgodi nič.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Zgodovina sprememb…

  • spremenil: Yacked2 ()

k--p ::

Link ne dela.

Yacked2 ::

k--p je izjavil:

Link ne dela.


ker sem ga spremenil :) Tudi če je pravi link noter ne dela.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

k--p ::

Ostala koda dela, torej je problem v linku. Podaj namesto linka samo "". Mora ti alert-at source trenutne strani.

ps. Poglej, kaj ti izpiše javascript konzola v browserju.

Yacked2 ::

k--p je izjavil:

Ostala koda dela, torej je problem v linku. Podaj namesto linka samo "". Mora ti alert-at source trenutne strani.

ps. Poglej, kaj ti izpiše javascript konzola v browserju.


Če dam samo "" mi v alertu izpiše celotno kodo strani:
<html>
	<head>
		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
	</head>
	<body>
		<script>
		function GetData()
		{
			$.get( "", function( data ) {
				
					alert(data);
				});					
		}
		
			
		</script>
	
		<input id="domov" type="button" value="Domov" onclick="GetData();" />


	</body>
</html>


v logu pa dobim:
[20:52:22.247] GET http://localhost/ [HTTP/1.1 304 Not Modified 2 ms]

če dam pa z linkom dobim pa to:
[20:53:21.896] GET http://tracker.spletnastran.si/xml/?dat... [HTTP/1.1 200 OK 464 ms]
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Zgodovina sprememb…

  • spremenil: Yacked2 ()

k--p ::

Torej je problem v linku do pdf, ker koda drugače nebi delala.

Yacked2 ::

k--p je izjavil:

Torej je problem v linku do pdf, ker koda drugače nebi delala.


Beri ZS,
z Wiresharkom lahko ulovim paket, ko je so v odgovoru vsi podatki iz te strani.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Kocka ::

Ali se XML fail in tvoja skripta nahajata v isti domeni na istem strežniku? Če se ne, stvar ne more more delati zaradi XSS (Cross-site scripting) omejitve. Sklepam, da nista, ker če daš namesto linka samo "", ti dela, drugače pa ne.
Obstajajo pa določene rešitve, ki se tej prepovedi izognejo. Server, ki vrača XML, mora te podatke "oviti" v javascript callback funkcijo. Tako kot se dela to pri JSONP (naštudiraj najprej to).
Samo ne vem, če lahko kaj spreminjaš na tem serverju. Poskusi v url, ki kaže na XML dodati &callback=myfunction parameter in preveri (preko browserja), kako ti v tem primeru vrne XML podatke. Mora jih potem takole: myfunction(tvoja-XML-vsebina);
Potem pa v tvoji skripti bereš XML file preko html script taga, ki ima atribut: src=url-na-ta-xml-fajl. Implementiraš še callback funkcijo (myfunction), ki potem parsa podatke.

Zgodovina sprememb…

  • spremenil: Kocka ()

Kocka ::

Sem še malo raziskal v to smer... Zgleda, da se da zadevo implementirati samo v primeru, da server podpira JSONP (padding), za XML pa ni možno. Lahko ignorirate moj prejšni post.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

javascript - gnezdenje - konkretno na mojem primeru

Oddelek: Programiranje
162508 (1956) geca
»

getElementsByTagName ne dela v Chromu

Oddelek: Programiranje
141611 (1349) win64
»

Izpis XML-ja z JS

Oddelek: Izdelava spletišč
81564 (1507) gnomee
»

[Javascript]Dodajanje v URL naslov

Oddelek: Programiranje
183538 (3342) jeryslo
»

java v javascript?

Oddelek: Programiranje
212018 (1721) boss-tech

Več podobnih tem