Advertisement
fcamuso

Javascript Lezione 7

Aug 22nd, 2022 (edited)
876
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PARTE HTML/JAVASCRIPT
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.   <meta charset="UTF-8">
  6.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.   <title>Async 01</title>
  9. </head>
  10.  
  11.   <button id="comandaFetch"> FAI PARTIRE LA FETCH  </button>
  12.  
  13.   <div id="animeCard" style="text-align: center; color: red;">
  14.     <h3 id="titolo"> </h3>
  15.     <img src="" id="cover" width="200px" height="300px">
  16.   </div>
  17.  
  18.   <div id="factList">
  19.  
  20.   </div>
  21.  
  22.  
  23.  
  24.   <script>
  25.     document.getElementById('comandaFetch')
  26.       .addEventListener('click', ComandaFetch);
  27.  
  28.     function ComandaFetch()
  29.     {
  30.       const una_promise =
  31.       fetch('https://anime-facts-rest-api.herokuapp.com/api/v1')
  32.         .then( (rispostaServer) => rispostaServer.json(), /* err => console.log('Errore di connessione') */ )
  33.         .then( (datiRicevuti) =>
  34.           {          
  35.             document.getElementById('titolo').textContent = datiRicevuti.data[0].anime_name;
  36.             document.getElementById('cover').src = datiRicevuti.data[0].anime_img;
  37.  
  38.             return fetch(`https://anime-facts-rest-api.herokuapp.com/api/v1/${datiRicevuti.data[0].anime_name}`);
  39.           }
  40.  
  41.         )
  42.         .then( (rispostaServer) => rispostaServer.json())
  43.         .then( (datiRicevuti) =>
  44.           {
  45.             const factList = document.getElementById('factList');
  46.             datiRicevuti.data.forEach(fact =>
  47.               {
  48.                 factList.insertAdjacentHTML('beforeend', fact.fact+"<br><br>");
  49.               }
  50.             );
  51.              
  52.           }
  53.         )
  54.         .catch( err => console.log('Problemi con il server o con la connessione') )
  55.         .finally( _ => console.log('io sono sempre eseguita!'))
  56.                
  57.     }
  58.    
  59.     //console.log(una_promise);
  60.  
  61.     const funzione_asincrona = async _ => (await fetch('https://anime-facts-rest-api.herokuapp.com/api/v1')).json();
  62.  
  63.     funzione_asincrona().then(dati =>
  64.     {
  65.       document.getElementById('titolo').textContent = dati.data[0].anime_name;
  66.       document.getElementById('cover').src = dati.data[0].anime_img;
  67.     });
  68.  
  69. let cliente = {
  70.   id: 1,
  71.   cognome: "fcamuso",
  72.   eta: 140
  73. }
  74.  
  75.  
  76. const formData = new FormData();
  77. Object.entries(cliente).forEach( ele => formData.append(ele[0], ele[1]));
  78. //Object.entries(cliente).forEach( ([chiave, valore]) => formData.append(chiave, valore));
  79.  
  80.  
  81. //per local host
  82. fetch('http://localhost/scuola/inserisci_cliente.php', {
  83.       method: "POST",
  84.       mode: "no-cors",
  85.       body: formData,
  86.     },
  87. )
  88. // .then(response => {alert(response); response.json();})
  89. // .then(dati => console.log(dati));
  90.  
  91.  
  92. //per server reale su Internet: ovviamente adattate l'indirizzo
  93. fetch('http://www.VOSTRO_SERVER_REALE.net/inserisci_cliente.php', {
  94.       method: "POST",
  95.       body: formData,
  96.     },
  97. )
  98. .then(response => response.json())
  99. .then(dati => console.log(dati));
  100.  
  101.  
  102.     //risposta_server.then( risposta_server => console.log(risposta_server));
  103.    
  104.     // NO solo nei moduli
  105.     // const risposta_server = await fetch('https://anime-facts-rest-api.herokuapp.com/api/v1');
  106.     // risposta_server.then( risposta => console.log(risposta));
  107.    
  108.   </script>
  109. </body>
  110. </html>
  111.  
  112.  
  113. PARTE PHP
  114.   <?php
  115.     $file = fopen('fetch.txt', 'w');
  116.     fwrite($file, "$_POST[id], $_POST[cognome], $_POST[eta] ");
  117.     fclose($file);
  118.  
  119.     echo json_encode([
  120.       'status' => 200,
  121.       'error' => 'Errore sulla pagina PHP',
  122.       'data' => "vuoto",
  123.     ]);
  124.   ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement