linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] [OT] JSON + Javascript

Diego Monselice info a diegomonselice.it
Mer 2 Mar 2011 13:15:31 UTC
Il giorno mer, 02/03/2011 alle 14.09 +0100, Diego Monselice ha scritto:
> Il giorno mer, 02/03/2011 alle 14.07 +0100, Diego Monselice ha scritto:
> > Il giorno mer, 02/03/2011 alle 13.31 +0100, Michele Bonera ha scritto:
> > > Il giorno mer, 02/03/2011 alle 12.13 +0100, Diego Monselice ha scritto:
> > > 
> > > > Il giorno mer, 02/03/2011 alle 11.59 +0100, Andrea Occhi ha scritto:
> > > > > quando usavo Json con Javascript (ma anche con altri linguaggi) la mia
> > > > > bibbia era http://www.json.org/.
> > > > > Per Javascript in particolare http://www.json.org/js.html
> > > > > A mio parere non ti conviene usare Jquery (a meno che  lo usi poi per altro).
> > > > be'... e le alternative? Io non sono riuscito a fare ciò che voglio in
> > > > nessun modo...
> > > 
> > > Attenzione che i browser non ti permettono (o almeno così si comporta
> > > firefox della 10.04) di accedere con ajax fuori dal dominio, quindi ti
> > > devi scrivere un "proxy" in php che faccia la get a Google:
> > > 
> > > --------------------- fetch_json.php --------------------------
> > > <?php
> > > 
> > > $latlng = $_REQUEST['latlng'];
> > > $sensor = $_REQUEST['sensor'];
> > > $region = $_REQUEST['region'];
> > > 
> > > $url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=
> > > $latlng&sensor=$sensor&region=$region";
> > > $handle = fopen($url, "r");
> > > 
> > > if ($handle) {
> > > 	while (!feof($handle)) {
> > > 		$buffer = fgets($handle,4096);
> > > 		echo $buffer;
> > > 	}
> > > 	fclose($handle);
> > > }
> > > 
> > > ?>
> > > ----------------------- fine fetch_json.php -------------------
> > > 
> > > 
> > > Quindi fai una richiesta così (usa Jquery che ti semplifica la vita):
> > > 
> > > params = {
> > >   latlng : '45.539829,10.222957',
> > >   sensor : 'true',
> > >   region : 'it'
> > > }
> > > 
> > > $.ajax({
> > >   url: 'fetch_json.php',
> > >   type: 'get',
> > >   data: params,
> > >   dataType: 'json',
> > >   success: function(jsonobj) {
> > >     longName=jsonobj.results[0].address_components[0].long_name
> > >     $('#result').html("LongName="+longName)
> > >   }
> > > });
> > 
> > Grazie Michele,
> > 
> > allora... così sembra andare meglio ma abbiamo un problema di traduzione
> > caratteri. Javascript tenta di fare il GET a questo indirizzo:
> > http://localhost/guida_turistica/app/fetch_json.php?latlng=45.539829%2C10.222957&sensor=true&region=it

facciamo qualche rettifica. ora l'indirizzo a cui punta è ancora questo,
infatti un risultato c'è, ma il result del json che restituisce è vuoto
e lo status è "ZERO_RESULTS"

ora non riesco a capire perchè la virgola mi diventi %2C, nè come
evitarlo... perchè mi pare che quello ora sia l'ultimo ed unico
problema...

un ultimo sforzo e ci siamo...!!! Giuro che vi includo nei
ringraziamenti della mia tesi!!! :-D



-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Diego Monselice

MSN: diegomonselice a hotmail.com
Yahoo! messenger: diegomonselice
Skype: diegomonselice
Cell. Tim: (+39) 339 25 68 172
Cell. Vodafone: (+39) 347 99 39 028
Web: http://www.diegomonselice.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




Maggiori informazioni sulla lista Lug