NEWS
Fetch vom Settings Frontent nicht möglich?
-
Hallo Allerseits
Das ist vermutlich kein ioBroker-spezifisches Problem, aber vielleicht mag doch jemand helfen: Ich möchte einen Adapter für ein Gerät schreiben, das Informationen über http://{ip}/api/v1/info herausrückt.
Das klappt sowohl vom Browser aus, als auch von main.ts meines Adapters mitawait fetch('http://${ip}/api/v1/info").Ich möchte nun gern im Settings-UI den Anwender auffordern, die IP-Adresse des Geräts einzugeben, und dann testen, ob sie stimmt. Ich versuche also folgendes in load() in index_m.html:
$('#url').on('blur', () => { console.log("test url " + $('#url').val()) $.getJSON($('#url').val()+"/api/v1/info", result=>{/* tu was */}) })(wobei #url das Input-Feld mit der vom Anwender eingetragenen url ist)
Da bekomme ich aber nach korrekter console.log-Ausgabe immer nur eine 403 - forbidden Antwort zurück. Ich habe statt $.getJSON auch mit $.ajax() und mit Browser-fetch experimentiert, aber alles mit demselben Ergebnis.
Aus irgendeinem Grund "mag" das Gerät resp. dessen eingebauter REST Server meine Anfragen aus dem Frontent nicht, während es identische Anfragen aus dem Backend und vom Browser akzeptiert. Und auch von der Kommandozeile mit curl. Wie kann das sein? Wie kann es überhaupt merken, woher die Anfrage kommt?
Die Frage ist vermutlich dämlich und ich übersehe etwas ganz Triviales, aber ich wäre fürs einen Tip sehr dankbar.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden