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.