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:09:54 UTC
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
> 
> tornando un errore 404 Not Found
> 
> a parte il fatto che il get dovrebbe farlo a fetch_json.php, e quindi
> non capisco 'sto cavolo di errore... ad ogni modo:
> nell'url che restituisce nell'errore, tra latitudine e longitudine
> dovrebbe starci la "," al posto di "%2C" ho provato ad aggiungere nel
> php il comando
> $latlng = preg_replace("%2C", ",", $latlng);
> ma non funge nemmeno così... forse è jscript che gestisce male la
> cosa... tant'è che l'errore viene riscontrato da firebug nel file
> http://code.jquery.com/jquery-1.5.js alla riga 7180...
> 
> sto decisamente impazzendo...!!!


niente, ritiro tutto... ora sembra funzionare... errore di digitazione
nel nome del file php ;)

sorry, ora ci smanetto e vi aggiorno... grazie milleeeeeeeeeee

-Dié-




Maggiori informazioni sulla lista Lug