2016-11-26 7 views
0

Ich habe den folgenden Tag in meinem HTML:REST Aufruf in HTML

<h3>Current Track: {title} </h3> 

Ich mag den {title} Teil mit dem Ergebnis des Array „Zustand“ einen REST Aufruf füllen, die wie folgt aussieht:

https://username:[email protected]:443/rest/items/Title 

ich habe das Ergebnis mit Postman und bekam folgendes Ergebnis getestet:

{ 
    "link": "https://my.openhab.org/rest/items/Title", 
    "state": "Giles", 
    "type": "String", 
    "name": "Title", 
    "tags": [], 
    "groupNames": [] 
} 

Wie kann ich das achive? Der Restanruf enthält Anmeldeinformationen.

EDIT:

Ich habe eine PHP-Datei erstellt mit dem Namen openhab.php:

<?php 
function getStatus($item) 
{ 
     $url = "https://user:[email protected]:443/rest/items/" . $item; 

     $options = array(
     'http' => array(
      'header' => "Content-type: text/plain\r\n", 
      'method' => 'GET', 
     ), 
    ); 

     $context = stream_context_create($options); 
     $result = file_get_contents($url, false, $context); 

     return $result; 
} 
getStatus("Title"); 
?> 

Was würde der HTML-Tag aussehen?

+0

Machen Sie eine "Curl" -Anforderung an die URL, und nachdem Sie die Antwortdaten erhalten haben, parsen Sie das Ergebnis und fügen Sie es an Ihrer gewünschten Stelle ein. –

+0

Auf diese Weise würden die Anmeldeinformationen für alle sichtbar sein, habe ich recht? – 4Kings

Antwort

1

Es ist nicht einfach nur mit HTML getan. Sie können beispielsweise PHP oder Javascript verwenden, um das Ergebnis des API-Aufrufs abzurufen. Postman ist dabei sehr hilfreich, da er den benötigten Code (für den API-Aufruf) für Sie erstellen kann.

Wenn Sie Javascript verwenden: Umbrechen Sie den Titel in ein HTML-Tag, z. B. einen Bereich, und fügen Sie eine ID hinzu. Zielen Sie dann das Element nach ID mit Javascript (document.getElementById (id)) und ändern Sie den Wert.

Wenn Sie PHP verwenden: Das Ergebnis wird in einer Variablen gespeichert. Sie zeigen den "state" in eine neue Variable ein. Verwenden Sie dann "echo" (Beispiel mit der Variablen $ state:), um den Wert in html anzuzeigen.

Ich schlage vor, dass Sie ein paar grundlegende Kenntnisse über PHP oder Javascript erhalten, je nachdem, welche Sie verwenden möchten.

+0

Ist der PHP-Ansatz auf diese Weise korrekt? – 4Kings

+0

Ich bevorzuge PHP, da das Skript auf der Serverseite verarbeitet wird. Soweit ich weiß, ist es viel schwieriger, den Benutzernamen und das Passwort im Vergleich zu Javascript zu erhalten. – Wesley