Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
über "Fetch" Json Array/Object auswerten
#8
PS: Mir ist gerade auf gefallen, dass mein Code wahrscheinlich unnötig kompliziert ist. Du schriebst:
Zitat:Der Inhalt des " response.text " ist immer der Gleiche:

Wenn auch immer die selben Elemente aus der Antwort verarbeitet werden sollen, könnte man das so machen:
Die Elemente für die Ausgabe jeweils in einem Container zusammen fassen:
Code:
<div id="cont1">
    <div class="dad"></div>
    <div class="another-class"></div>
</div>

<div id="cont2">
    <div class="dad"></div>
    <div class="another-class"></div>
</div>
Dann brauchst Du nur noch die ID dieses Containers in den Daten:
Code:
const data = [
            {
                url: 'http;//1.2.3.4/cm/usw',
                idCont: 'cont1'
            },
            {
                url: 'http;//4.5.6.7/cm/usw',
                idCont: 'cont2'
            }
        ];

        const data2 = [
            { key: 'Hostname', idDest: 'dad'},
            { key: 'IPAdress', idDest: 'noch-ne-id' }
        ];
Und dann die Auswertung so:
Code:
        data.forEach(item => {
                fetch(item.url).then(
                    // ...
                    const cont =  document.getElementById(item.idCont);
                    data2.forEach(item2 => {
                        const dest = cont.querySelector('.' + item2.classDest);
                        dest.innerHTML = dataFromSever[item2.key];
                    });

PPS: Man kann das noch weiter vereinfachen, wenn man die Klassen gleich den Keys in den Daten vom Server setzt. Würde dann so aussehen:
Code:
    <div id="cont1">
        <div class="Total"></div>
        <div class="Voltage"></div>
    </div>

    <div id="cont2">
        <div class="Total"></div>
        <div class="Voltage"></div>
    </div>
    <script>
        const data = [
            {
                url: 'thread1245-fetch-javascript-forum-1.json',
                idCont: 'cont1'
            },
            {
                url: 'thread1245-fetch-javascript-forum-2.json',
                idCont: 'cont2'
            }
        ];
        data.forEach(item => {
            fetch(item.url).then(function (response) {
                // Aus der Antwort vom Server
                // das geparste JSON zurück geben:
                return response.json();
            }).then(function (parsed) {
                // Jetzt steht das geparste JSON zur Verfügung.
                const cont = document.getElementById(item.idCont);
                for (key in parsed.StatusSNS.ENERGY) {
                    const dest = cont.querySelector('.' + key);
                    if (dest) {
                        dest.innerHTML = parsed.StatusSNS.ENERGY[key];
                    }
                };
            });
        });
    </script>
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren


Nachrichten in diesem Thema
RE: über "Fetch" Json Array/Object auswerten - von Sempervivum - 26.01.2024, 07:21

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
4 Gast/Gäste