Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311

    doppia richiesta API non sempre va

    salve a tutti.
    ho bisogno di fare 2 richieste API a un sito di meteorologia (però di 2 link diversi).
    però non sempre funziona.
    la prima richiesta (quella della temperatura) funziona sempre.
    la seconda non va sempre. a volte si e a volte no.
    ho notato che se entro in un’altra pagina del mio sito e poi ritorno in quella dove c'è lo script, funziona.
    allego codice. mi sapete spiegare il perchè? grazie


    codice:
    document.write('<div id="temperatura"></div>');
    document.write('<div id="qualita"></div>');
    
    
    var richiesta = new Request("https://api.openweathermap.org/data/2.5/weather?q=MIA-CITTA,it&appid=MIA-KEY");
    fetch(richiesta)
    .then(risposta => risposta.json())
    .then(risposta => {
      var temperatura = risposta.main.temp;
      temperatura = temperatura-273,15;
      document.getElementById("temperatura").innerHTML = Math.floor(temperatura) + "°C";
    });
      
      
    var richiesta2 = new Request("http://api.openweathermap.org/data/2.5/air_pollution?lat=MIA-LAT&lon=MIA-LON&appid=MIA-KEY");
    fetch(richiesta2)
    .then(risposta2 => risposta2.json())
    .then(risposta2 => {
      var qualita = risposta2.list[0].main.aqi;
      document.getElementById("qualita").innerHTML = qualita + " AQI";
    });

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    salve a tutti.
    ho bisogno di fare 2 richieste API a un sito di meteorologia (però di 2 link diversi).
    però non sempre funziona.
    la prima richiesta (quella della temperatura) funziona sempre.
    la seconda non va sempre. a volte si e a volte no.
    Non sempre funziona... non va sempre...

    Cosa vuol dire "non va"?
    Non vedi nulla? Restituisce un errore? Ha un comportamento diverso da quello atteso?
    Cosa esce nella scheda Console o Network (Rete) dei Developer Tools? (tasto F12)
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    Quote Originariamente inviata da alka Visualizza il messaggio
    Non sempre funziona... non va sempre...

    Cosa vuol dire "non va"?
    Non vedi nulla? Restituisce un errore? Ha un comportamento diverso da quello atteso?
    Cosa esce nella scheda Console o Network (Rete) dei Developer Tools? (tasto F12)
    nessun errore.
    la temperatura la restituisce sempre:
    27°C

    l'altro parametro (AQI qualità dell'aria) non sempre. se entro ed esco da altre pagine poi restituisce tutto correttamente:

    27°C
    3 AQI

    Non so. non è che la doppia richiesta API crea problemi?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    Quote Originariamente inviata da alka Visualizza il messaggio
    Non sempre funziona... non va sempre...

    Cosa vuol dire "non va"?
    Non vedi nulla? Restituisce un errore? Ha un comportamento diverso da quello atteso?
    Cosa esce nella scheda Console o Network (Rete) dei Developer Tools? (tasto F12)

    credo di aver risolto.
    con la qualità dell'aria invece di indicate https ho scritto http.
    ora sembra funzionare.
    che ne pensi?!!!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    nessun errore.
    Se in alcuni casi visualizzi un valore, in altri invece no, vuol dire che la chiamata a fetch() non va a buon fine, e ciò significa che il codice non entra nella parte all'interno di then() - per intenderci - e se fa così significa che c'è un errore.

    Non essendo "gestito", l'errore viene mostrato nella Console, su cui non ho certezza che tu abbia controllato, visto che dici che non succede niente, ma questa non è una delle alternative previste possibili.

    A meno che il codice non sia diverso da quello esattamente riportato, qualcosa si vedrebbe, e se non si vede significa che qualcosa fallisce, e se fallisce dice il perché, non lo fa in modo "silenzioso".

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    Non so. non è che la doppia richiesta API crea problemi?
    Non è dato saperlo. Per sapere se ci sono problemi, bisogna conoscere l'errore, ma tu hai stabilito che non è necessario leggerlo, e non leggendolo non me lo dici.

    Credo sia inutile chiedere i motivi per cui qualcosa accade se poi non si risponde alle domande che cercano di indagare sul problema.

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    con la qualità dell'aria invece di indicate https ho scritto http.
    ora sembra funzionare.
    che ne pensi?!!!
    Dipende da cosa intendi con "sembra": se vuol dire che si direbbe che funzioni, e ciò riguarda la totalità delle chiamate che fai, probabilmente il problema era questo.

    Se invece talvolta continua ad andare in errore, allora il problema è indicato nell'errore: se non vuoi leggere che errore è, o non vuoi dirmelo, non ci sono altre cose che io ti possa dire, quindi speriamo che la correzione dello schema da "http" a "https" fosse tutto quello che causava problemi. Che vuoi che ti dica...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    credo di aver risolto.
    con la qualità dell'aria invece di indicate https ho scritto http.
    ora sembra funzionare.
    che ne pensi?!!!
    quindi tuttapposhto?

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    Quote Originariamente inviata da alka Visualizza il messaggio
    Se in alcuni casi visualizzi un valore, in altri invece no, vuol dire che la chiamata a fetch() non va a buon fine, e ciò significa che il codice non entra nella parte all'interno di then() - per intenderci - e se fa così significa che c'è un errore.

    Non essendo "gestito", l'errore viene mostrato nella Console, su cui non ho certezza che tu abbia controllato, visto che dici che non succede niente, ma questa non è una delle alternative previste possibili.

    A meno che il codice non sia diverso da quello esattamente riportato, qualcosa si vedrebbe, e se non si vede significa che qualcosa fallisce, e se fallisce dice il perché, non lo fa in modo "silenzioso".


    Non è dato saperlo. Per sapere se ci sono problemi, bisogna conoscere l'errore, ma tu hai stabilito che non è necessario leggerlo, e non leggendolo non me lo dici.

    Credo sia inutile chiedere i motivi per cui qualcosa accade se poi non si risponde alle domande che cercano di indagare sul problema.


    Dipende da cosa intendi con "sembra": se vuol dire che si direbbe che funzioni, e ciò riguarda la totalità delle chiamate che fai, probabilmente il problema era questo.

    Se invece talvolta continua ad andare in errore, allora il problema è indicato nell'errore: se non vuoi leggere che errore è, o non vuoi dirmelo, non ci sono altre cose che io ti possa dire, quindi speriamo che la correzione dello schema da "http" a "https" fosse tutto quello che causava problemi. Che vuoi che ti dica...
    "ma tu hai stabilito che non è necessario leggerlo, e non leggendolo non me lo dici."
    "se non vuoi leggere che errore è, o non vuoi dirmelo"

    Senti tu sei preparato ma hai dei modi odiosi e credo che non sono il primo a dirlo.
    Il moderatore dovrebbe “moderare” e non irritarsi.
    non è che non voglio dirti certe cose. Il mio scopo è risolvere.
    Effettivamente ho notato che con questo script se c'è un errore non lo mostra.
    ma l'ho capito dopo che me le hai fatto notare (anche se con i modi bruttissimi come sempre).
    È ovvio che lo script funzionante o no ora so che aveva delle pecche.
    se fossi stato un esperto non avrei avuto bisogno di un forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    Quote Originariamente inviata da optime Visualizza il messaggio
    quindi tuttapposhto?
    funziona perfettamente. grazie

  9. #9

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    Senti tu sei preparato ma hai dei modi odiosi e credo che non sono il primo a dirlo.
    Guarda un po', anche i tuoi modi non mi piacciono: apri discussioni con informazioni parziali, senza indicazioni, e quando qualcuno per darti una mano ti chiede di specificarle, come avvenuto nell'altra discussione, continui sulla tua strada comunque e ignori totalmente le richieste, facendo perdere tempo, e raddoppiando alla fine questa perdita perché si finisce a parlare delle richieste altrui e di quali palazzi hai costruito con una document.write(), che è una funzione obsoleta che non andrebbe più utilizzata, fondamentalmente ignorando quello che ti viene scritto.

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    Il moderatore dovrebbe “moderare” e non irritarsi.
    Io non sono irritato: sei tu che lo pensi, avrai la sindrome da accerchiamento, non so.

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    non è che non voglio dirti certe cose. Il mio scopo è risolvere.
    Se chiedi una mano qui, e chi è disposto a dartela ti chiede approfondimenti, il tuo dovere è quello di rispondere, perché se lo scopo è risolvere, con i suggerimenti che ti possono essere forniti da qualcuno che riesce a capire qual è il tuo problema, le cose si sistemano.

    In caso contrario, è solo una perdita di tempo per entrambi.

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    se fossi stato un esperto non avrei avuto bisogno di un forum
    Quando non sono esperto di qualcosa e chiedo aiuto, e mi vengono rivolte delle domande per capire, io rispondo, perché l'obiettivo è aiutare l'esperto a capire in modo che poi mi possa dare un aiuto concreto avendo in mano tutte le informazioni che occorrono.

    Nel tuo caso, tu non vuoi fornire all'esperto che ti aiuta le informazioni che ti chiede per capire, ergo non ti interessa realmente la soluzione, o pensi che il suo contributo non sia utile, o come dicevo prima pensi che lo faccia apposta per darti fastidio e metterti in cattiva luce.

    Gli unici messaggi in cui scrivi tutto per bene e in modo esaustivo sono quelli polemici in cui ti lamenti degli altri che si arrabbiano perché nel tentativo di aiutarti e di insegnarti qualcosa che magari non sai, non ottengono le informazioni necessarie.

    Comunque, visto che ti da fastidio, la prossima discussione priva di dettagli sufficienti a far capire il problema, invece di intervenire chiedendo di approfondire, la lascerò cadere nel dimenticatoio, così siamo contenti entrambi.

    Buon lavoro!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.