Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Prelevare e utilizzare dati da una sorgente JSON

    Salve a tutti,
    io dovrei prelevare un dato (current_value) da questa sorgente JSON: http://api.pachube.com/v2/feeds/14634.json

    Pensavo di utilizzare la fuzione getJson di jquery, aiutato da un tutorial online ho scritto questo codice per il prelievo e l'utilizzo del dato di cui necessito:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                        "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
      
      <script>
      $(document).ready(
       function(){
          $.getJSON(
             'http://api.pachube.com/v2/feeds/14634.json',
             function(data){
    			var content  = '
    
    ';
    				content +=  data.current_value;
    				content += '</p>';
     
                   $('div.dati').append(content);
     
             }
          );
       }
    );
    
      </script>
      
    </head>
    <body>
      <div class="dati">
      </div>
    </body>
    </html>
    La console di google chrome mi restituisce due errori:
    1. XMLHttpRequest cannot load http://api.pachube.com/v2/feeds/14634.json. Origin null is not allowed by Access-Control-Allow-Origin.
    2. Failed to load resource 14634.json
    Probabilmente ho omesso qualcosa, perché il tutorial che ho seguito prevedeva un ciclo for per prelevare i dati da un array. Nel mio caso non ce n'è bisogno credo, quindi l'ho cancellato.

    Grato a chiunque riesca a darmi una mano :-)
    Andrea

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sei i domini sono diversi tra loro credo che tu debba essere amministratore di entrambi, ma non sono sicuro, non conosco bene jquery e la funzione in oggetto, comunque prova e vedere se http://javascript.html.it/guide/lezi...3/jquery-ajax/ con jsonp puoi risolvere.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Originariamente inviato da cavicchiandrea
    Sei i domini sono diversi tra loro credo che tu debba essere amministratore di entrambi
    Non devi essere amministratore di entrambi i siti, basta che i dati che vengono prelevati dal sito in questione siano formattati in modo corretto. Con questo intendo che i dati da recuperare siano nel formato json e il sito in questione imposti una funzione di callback. Se improntato in questo modo chiunque puo prelevare questi dati utilizzando, come da te suggerito, jsonp.

    Jsonp è fondamentale per recuperare dei dati da un dominio che sia diverso da quello chiamante altrimenti si viene bloccati per una questione di policy dei browser.

    Per effettuare una chiamata jsonp con ajax o utlizzi la funzione jQuery.ajax() impostando la proprietà dataType=jsonp o utilizzi il plugin jsonp utilizzando la funzione che mette a disposizione: jQuery.jsonp().

  4. #4
    Originariamente inviato da Vindav
    Per effettuare una chiamata jsonp con ajax o utlizzi la funzione jQuery.ajax() impostando la proprietà dataType=jsonp o utilizzi il plugin jsonp utilizzando la funzione che mette a disposizione: jQuery.jsonp().
    Ciao, innanzitutto grazie dell'aiuto. La cosa strana è che per fruire degli stessi dati in XML, pachube mi chiede una api key (una stringa alfanumerica molto lunga). Non è che per JSON richieda comunque questa api key? se così fosse, come faccio a passargli l'api key per ottenere quel dato?

    Ho consultato questo documento, ma io non riesco a capirci granché. Sto facendo una tesi di laurea in design generativo con processing e mi sono impegolato in cose più grandi di me :-|

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    A parte che il link che hai indicato http://api.pachube.com/v2/feeds/14634.json non mi sembra affatto una sorgente json, questa piuttosto è una sorgente corretta a cui passo come parametro di input il nome della funzione di callback(in questo caso "process").
    Non conosco pachube, quindi non so cosa sia questa "api key" a cui ti riferisci potrebbe essere semplicemente il nome della callback che passi come parametro al sito... jquery crea random il nome della funzione di callback(una qualcosa tipo jsonp1235373648392) quando viene aggiunto il parametro jsoncallback=? alla querystring.

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    il file json è dietro ad una basic authentication. Sei sicuro di potervi accedere quando effettui la chiamata?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.