[LugBS] [OT] JSON + Javascript
Diego Monselice
info a diegomonselice.it
Mer 2 Mar 2011 13:07:28 UTC
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®ion=$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®ion=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...!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
|