NEWS
Hilfe für Javascript Legastheniker und js v8.3.x
-
@homoran
Versuche im ersten Skript die Zeilen 210 bis 233 zu ersetzen durch:httpGet(req_url, function (error, response) { //log('error: ' + error); //log('Status: '+ response.statusCode); //log('response: '+ JSON.stringify(response)); //response.body = '{"dxsEntries":[{"dxsId":234881792,"value":1},{"dxsId":234881537,"value":[207,217,88,94,63,16,2,0]},{"dxsId":234881538,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881539,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881540,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881541,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881542,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881543,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881544,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881545,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881546,"value":[0,0,0,0,0,0,0,0]}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}'; //response.statusCode = 200; //error = false; if (!error && response.statusCode == 200) { //log('request ok: '); //log('Status: '+ response.statusCode); //log('response: '+ JSON.stringify(response)); callback(response.data); } else { log('request nok: '); //log('Status: '+ response.statusCode); //log('error: ' + error); } } );
Im 2. Skript ersetze request durch httpGet (ohne
body
) undbody
durchresponse.data
. -
@paul53 sagte:
Im 2. Skript ersetze request durch httpGet (ohne body) und body durch response.data.
editeur
wirklich so einfach?
Hatte ich mir fast gedacht, dann hat mich da die Funktion in der Funktion schon wieder rausgeworfen weil für meine Denke die schließende runde Klammer zu spät kam.und muss die Variable request auch geändert werden?
@paul53 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Versuche im ersten Skript die Zeilen 210 bis 233 zu ersetzen durch:
wwrde ich auch versuchen.
DANKE -
@homoran sagte: und muss die Variable request auch geändert werden?
Die Zeile löschen:
var request = require('request');
-
@paul53 Na, da komme ich dann langsam mit!
-
@paul53 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Im 2. Skript ersetze request durch httpGet (ohne body) und body durch response.data.
funktioniert das bei 7.8.0 noch nicht?
Bei httpGet meckert er ich solle diese Variable deklarieren
-
@homoran ab v7.9 so wie ich gelesen habe
-
@crunchip Danke!
ich wollte erst upgraden wenn ich sicher weiß, dass alles läuft.
Dann muss ich morgen mal allen Mut zusammennehmenzurück auf 7.8.0 müsdte notfalls doch gehen, oder?
-
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
zurück auf 7.8.0 müsdte notfalls doch gehen, oder
im Normalfall, ja
-
@homoran sagte: funktioniert das bei 7.8.0 noch nicht?
Nein. JS 8.3.1 ist "stable".
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
zurück auf 7.8.0 müsdte notfalls doch gehen, oder?
Nicht, wenn auf httpGet() umgestellt wurde.
-
@paul53 sagte:
Nicht, wenn auf httpGet() umgestellt wurde.
klar!
nicht das Skript.
ich habe es ja vorsichtshalber kopiert und das alte konserviert.@paul53 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Nein. JS 8.3.1 ist "stable".
Das war der Hintergrund der Frage. Über die GUI geht es dann nicht mehr, aber müsste doch über die Konsole per
iob upgrade javascript@7.8.0
funktionieren.EDIT:
aneinander vorbeigelesen, Sorry -
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Über die GUI geht es dann nicht mehr
Doch, mir ging das auch etwas auf den Keks und daher habe ich im Admin eingebaut, dass man im "bestimmte Version installieren"-Dialog nach ganz unten scrollen kann und im Freitext-Feld eine Version (von npm) eingeben kann. Ab welcher Admin-Version das enthalten ist, müsste ich auch gerade suchen.
-
-
Vielen lieben Dank!
es läuft nach upgrade mit den modifizierten Skripten.So wirklich kompliziert scheint es ja nicht zu sein.
Um es selbst zu verstehen und für andere Hilfesuchenden, versuche ich es mal zusammenzufassen.Der request Befehl
request(options, function(error, response, body)
enthält in der Funktion u.a.
body
, was vermutlich den Teil der Antwort ausmacht, der die interessant Daten enthält.
Dieser body ist beihttpGet(options (error, response)......)
nicht mehr vorhanden und muss in der anschließenden Logik gegen
response.data
getauscht werden.(deswegen jetzt auch in der Blockly Variante 'data" statt "result')
Ich bitte um Verbesserungen wenn nötig, dann passe ich es für die Nachwelt an.
-
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Ich bitte um Verbesserungen wenn nötig, dann passe ich es für die Nachwelt an.
Ist alles richtig - nur der url-Parameter fehlt in deiner Ausführung bei httpGet.
-
@haus-automatisierung sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Ich bitte um Verbesserungen wenn nötig, dann passe ich es für die Nachwelt an.
Ist alles richtig - nur der url-Parameter fehlt in deiner Ausführung bei httpGet.
fällt der nicht unter options?
Dann ändere ich das -
-
@haus-automatisierung Danke!
das ist zuviel Information für michDas sollte ja auch erst recht für nicht js-Versteher sein, um selbständig bestehende c&p Skripte anzupassen.
Also ohne allzuviel tiefergehende Theorie.kann man zusammegefasst sagen, dass die in meinem Fall options genannten Parameter je nach Anwendung in 3 verschiedenen Ausführungen vorliegen können?
-
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
kann man zusammegefasst sagen, dass die in meinem Fall options genannten Parameter je nach Anwendung in 3 verschiedenen Ausführungen vorliegen können?
Options ist einfach ein Objekt, welches verschiedene Parameter erlaubt. Also eigene HTTP-Header, Timeouts, Authentication, ... usw. Insgesamt ist der Parameter aber optional. Passe die Doku nochmal an mit mehr Details.
-
@haus-automatisierung Danke!
Das "Problem" ist, dass duese Doku sich an Programmierer richtet und daher natürlich so spezifisch wie möglich sein muss.Für c&p User, die 'nur mal eben' was anpassen wollen, ist das nicht geeignet, eeil zu theoretisch und nicht praxisbezogen.
Beides in einer Doku unter einen Hut zu bekommen ist IMHO unmöglich
-
@homoran sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Das "Problem" ist, dass duese Doku sich an Programmierer richtet
Richtig, so wie sich auch JavaScript-Scripts im Adapter an Programmierer richten. Wer vorher
request
verstanden hat, sollte damit kein Problem haben