This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Seiten-Content erhalten
#1
Hallo zusammen,

ich bin noch ein JS Anfänger und versuche derzeit folgendes:

Ich möchte gerne einen Seiten-Content (Beispiel: https://api.laut.fm/station/hyrisefm/listeners) als Variable in JS haben.
Wie kann ich das machen?

Im Internet bin ich auf folgenden Code gestoßen:



fetch("https://URL/file").then((r)=>{r.text().then((d)=>{let CONTENT = d})})





Damit der auch was ausgibt hab ich folgendes versucht:

var content = "";
fetch("https://api.laut.fm/station/hyrisefm/listeners")
.then((r)=>{r.text()
.then((d)=>{content = d})})

console.log(content);


Aber die Ausgabe bleibt leer.

Was kann ich da tun?

Woran liegt das?
Zitieren
#2
Moin, wie gehts?
Lange nichts mehr gehört von dir.
Versuche es mal so

function h() {
    fetch('https://api.laut.fm/station/hyrisefm/listeners').then((response) => {
      return response.json().then((json) => {
        console.log("JSON", json)
        this.json = json
      })
    })
  }
h()
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Als Lösung markieren Zitieren
#3
Hallo admin,

alles bestens bei mir Big Grin
Danke der Nachfrage!

Leider muss ich zugeben, dass ich den Code dort oben nicht ganz verstehe...
Was dort gemacht wird ist mir nur ganz grob klar.

Wie kann ich das machen, dass der Return der function mein text ist?

Ich rufe also die Funktion folgendermaßen auf:

var text = h();

Und dabei soll bei text der Inhalt angegeben werden, der auf der Website steht. In diesem Falle zwar eine Zahl, aber in anderen Fällen habe ich einen String.

Ja, dort in der Funktion steht ein Return, jedoch erkenne ich nicht ganz das Statement dahinter....

Liebe Grüße
Ben
Als Lösung markieren Zitieren
#4
Ehrlich gesagt, hatte ich keine Ahnung.
Ich habe bis jetzt immer die Daten innerhalb des fetch Blockes verarbeitet , und nie außerhalb , bzw. außerhalb einer, Funktion aufgerufen, wo die fetch drin ist.

Habe eben auch 100 verschiedene Sachen versucht, wie es klappen könnte.
Wusste gar nicht das die fetch API so scheißen kompliziert ist.
Versuche es mal so


const getData = async () => {
  const res = await fetch("https://api.laut.fm/station/hyrisefm/listeners");
  if (!res.ok) {
    throw new Error(`${res.status}: ${await res.text()}`);
  }
  return res.json();
};
const dataPromise = getData();
dataPromise.then((result) => {
  alert(result);
});
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Als Lösung markieren Zitieren
#5
ahhhhhh, da kam der Denkanstoß!!!

INNERHALB DES FETCH-BLOCKS!

Hab ich jetzt so gemacht...

Vielen Dank!
Als Lösung markieren Zitieren


Gehe zu:


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