2017-07-27 4 views
0

Ich möchte eine GET-Anforderung in Node-RED mit jQuery auszuführen:Node-RED jQuery

$.get("url", { data: "whatever"}).done(function(data){ 
    return data; 
}); 

aber es gibt mir die folgenden Fehler in dem Debugger gibt:

ReferenceError: $ is not defined

ich jquery installiert haben bis npm.

Wie kann ich jQuery (und andere externe Bibliotheken) in Node-RED verwenden?

--EDIT--

Dank der Kommentare, die ich gelernt jQuery nicht und unerwünscht erforderlich. Daher versuche ich den integrierten HTTP-Anforderungsknoten zu verwenden. Allerdings habe ich Probleme mit entkommenen Charakteren. Die Anforderungsparameter der folgenden Form sein sollten:

localhost:port/path?tx="{{payload}}" 

ich erfolgreich die Zeichenfolge an bekommen, aber ich kann nicht die einschließenden Anführungszeichen in bekommen, halten sie immer in der Anfrage zu HTML-Nummern umgewandelt. Gibt es einen Weg dies zu verhindern?

+0

Wenn Sie nur versuchen, Netzwerkanforderungen zu stellen, sollten Sie keine große Bibliothek für Funktionen enthalten, die nativ für Sie verfügbar sind. https://docs.nodejitsu.com/articles/HTTP/clients/how-to-create-a-HTTP-request/ – castis

+0

Gibt es einen Grund, den eingebauten HTTP-Request-Knoten nicht zu verwenden? – hardillb

+0

@hardillb Ich muss der GET-Anfrage Parameter hinzufügen, ist das mit dem Anfrageknoten möglich? –

Antwort

0

Bibliotheken können in die Datei functionGlobalContext in der Datei settings.js geladen werden, die Sie in Ihrem Node-RED userDir finden. Dieses Verzeichnis wird in den ersten Zeilen aufgelistet, wenn Node-RED beginnt, aber es wird in der Regel in ~/.node-red

Eine detaillierten Beschreibung in dem Node-RED docs gefunden werden kann here

Aber im Grunde Sie folgen diesem Muster gefunden:

... 
functionGlobalContext: { osModule:require('os') }, 
... 

Dann in dem Funktionsknoten verwenden Sie die folgende Syntax, um einen Griff in die Bibliothek zu erhalten:

var myos = global.get('osModule'); 

Nachdem Sie gesagt haben, dass Sie wirklich nicht versuchen sollten, die jquery-Bibliothek im Funktionsknoten zu verwenden, erhalten Sie sehr wenig, was nicht mit dem integrierten HTTP-Request-Knoten oder der nativen http: // node.js-Funktion erreicht werden kann.

Verwandte Themen