Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311

    problemi con lettura dati API metodo FETCH

    buongiorno. sto usando questo semplice codice per ottenere dati dal sito openweathermap (velocità del vento).
    mi restituisce correttamente il valore ma cancella l'intera parte della pagina web. mi sapere spiegare il perchè?
    grazie

    codice:
    <script>
    fetch("https://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=MY API KEY")
    .then(response => response.json())
    .then(data => {
      // Ottieni la velocità del vento dai dati
      const windSpeed = data.wind.speed;
    document.write(windSpeed);
    
    
    });
    </script>

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    sto usando questo semplice codice per ottenere dati dal sito openweathermap (velocità del vento).
    mi restituisce correttamente il valore ma cancella l'intera parte della pagina web. mi sapere spiegare il perchè?
    Stai usando document.write(), quindi leggi bene la documentazione relativa a questa funzione, in particolare le note e la spiegazione del funzionamento in dettaglio.

    Ciao!
    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
    Stai usando document.write(), quindi leggi bene la documentazione relativa a questa funzione, in particolare le note e la spiegazione del funzionamento in dettaglio.

    Ciao!
    innanzitutto grazie mille
    in effetti se uso "alert" non dà problemi. quindi il problema è su "document.write". ma proprio non riesco a capire cosa sbaglio con document.write.
    non trovo spiegazioni al proposito sul link che mi hai suggerito

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    non trovo spiegazioni al proposito sul link che mi hai suggerito
    La prima cosa che appare è un mega riquadro di colore rosso che indica espressamente che si tratta di un metodo deprecato e che non andrebbe utilizzato.

    Nel paragrafo appena sotto c'è la nota che indica espressamente quanto segue:
    Note: Because document.write() writes to the document stream, calling document.write() on a closed (loaded) document automatically calls document.open(), which will clear the document.

    In breve, deve essere chiamato mentre la pagina è in fase di costruzione, ossia deve comparire negli script che si trovano nella pagina quando questa viene interpretata per costruirla nel browser: non ha senso chiamare document.write() *dopo* che la pagina è completa, perché quella scrittura non è chiaro dove dovrebbe finire, visto che viene fatta quando la pagina è stata completata del tutto.

    Bisogna inserire un elemento nella pagina a cui eventualmente attribuire un ID e successivamente usare document.getElementById() per recuperarlo e inserire il testo all'interno dell'elemento (nella documentazione trovi esempi a riguardo).

    Fai una ricerca su Google per entrambe le cose.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    Quote Originariamente inviata da alka Visualizza il messaggio
    La prima cosa che appare è un mega riquadro di colore rosso che indica espressamente che si tratta di un metodo deprecato e che non andrebbe utilizzato.

    Nel paragrafo appena sotto c'è la nota che indica espressamente quanto segue:
    Note: Because document.write() writes to the document stream, calling document.write() on a closed (loaded) document automatically calls document.open(), which will clear the document.

    In breve, deve essere chiamato mentre la pagina è in fase di costruzione, ossia deve comparire negli script che si trovano nella pagina quando questa viene interpretata per costruirla nel browser: non ha senso chiamare document.write() *dopo* che la pagina è completa, perché quella scrittura non è chiaro dove dovrebbe finire, visto che viene fatta quando la pagina è stata completata del tutto.

    Bisogna inserire un elemento nella pagina a cui eventualmente attribuire un ID e successivamente usare document.getElementById() per recuperarlo e inserire il testo all'interno dell'elemento (nella documentazione trovi esempi a riguardo).

    Fai una ricerca su Google per entrambe le cose.
    sto provando in ogni modo ma non ci riesco.
    non ci sono altri modi più semplici?
    avevo provato a sostituire document.write con console.log ma non funziona

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    sto provando in ogni modo ma non ci riesco.
    Se non dici cosa stai cercando di fare, difficile esserti d'aiuto.

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    non ci sono altri modi più semplici?
    Cosa c'è di così complesso nello scrivere una, e sottolineo una riga di codice?

    Se questa cosa è complessa e non vuoi approfondire o documentarti, né spiegare i dubbi, ma cerchi la "pappa pronta" o una soluzione che faccia tutto da sola senza scrivere nulla, come puoi pensare di scrivere poi codice per il resto del programma?

    Quote Originariamente inviata da enzoiav Visualizza il messaggio
    avevo provato a sostituire document.write con console.log ma non funziona
    Al netto che non è chiaro come hai fatto la sostituzione, console.log() funziona senz'altro, ma il problema non è che puoi sostituire una cosa con un rimpiazzo a caso, così senza una logica: ogni funzione che chiami ha un suo ruolo e un suo effetto, e se devi scrivere nella pagina e invece fai log sulla console, non è ovviamente la stessa cosa.

    Non mi dire che non riesci a comprendere questo esempio.
    Se è così, spiega cosa non è chiaro. Non esiste "scorciatoia" che risolva automaticamente il tuo problema.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    Quote Originariamente inviata da optime Visualizza il messaggio
    Ora ho visto. Avevo risolto con la chat AI di Google.
    Grazie lo stesso

  9. #9
    anche qui l'esempio credo che faccia al caso tuo https://www.w3schools.com/JSREF/prop_html_innerhtml.asp

    va adattato, nel caso posta le tue prove

  10. #10
    ti capisco. Puoi postare la soluzione? Così sarai d'aiuto a chi dovesse avere lo stesso problema, grazie

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.