Http Request auf Node.js Datei

Hallo Zusammen,

wie kann ich eine auf einem Node.js Webserver liegende Scriptdatei ausführen.

Das Heißt ich habe meine index.html und dort soll per Button eine bestimmte Scriptdatei auf dem Server ausgeführt werden.

Diese Scriptdatei schreibt einfach nur Daten aus einer Datenbank in eine JSON-Datei, welche ich dann wiederum über den Browser abrufen kann.

Wenn ich einen Http Request auf diese Datei mache bekomme ich ja nur den Inhalt als String oder XML ausgeben.

Wie kann ich nun diese Datei anstoßen? Das Script an sich funktioniert wenn ich es auf dem Server in der Console ausführe.

MfG

Florian86

Content-Key: 1255971887

Url: https://administrator.de/contentid/1255971887

Ausgedruckt am: 25.09.2021 um 12:09 Uhr

Mitglied: wiesi200
wiesi200 13.09.2021 aktualisiert um 14:43:25 Uhr
Goto Top
Hallo,

mit PHP, Javascript, ASP.net

so ziemlich alles was nicht statisch ist.
Also reines HTML funktioniert so ziemlich als einziges nicht.
Mitglied: Florian86
Florian86 13.09.2021 um 14:49:34 Uhr
Goto Top
Hallo,

naja das ist mir schon klar aber wie genau mache ich das aus Javascript heraus.

Wie gesagt ich habe einen Node.js Webserver. Auf diesem liegt eine Sap.js welche auf SAP zugreift und Daten
auslesen soll.

Wie Stoße ich diese SAP.js jetzt Clientseitig mit Javascript an, dass diese ausgeführt wird.
Mitglied: colinardo
colinardo 13.09.2021 aktualisiert um 15:13:58 Uhr
Goto Top
Servus.

Grüße Uwe
Mitglied: Florian86
Florian86 14.09.2021 um 07:11:45 Uhr
Goto Top
Hallo Colinardo,

ich habe mich vlt. etwas missverständlich ausgedrückt. Ich möchte über meine HTML Seite einen Button klicken welcher
die sap.js serverseitig ausführt.

Wenn ich das so mache wie du sagst bekomme ich die Meldung das Require im Javascript Kontext nicht definiert ist.
Über einen HTTP Request kann man ja mit dem Server Daten austauschen. Aber kann ich damit auch meine sap.js ausführen?

ich habe also eine aufruf.js die in meine HTML eingebunden ist.


In der aufruf.js soll dann so etwas stehen...


Leider bekomme ich so ja immer nur den Text der sap.js also den Inhalt zurückgegeben.

Wie kann ich jetzt die sap.js über meine HTML ausführen?

MfG

Florian86
Mitglied: Florian86
Florian86 14.09.2021 um 08:01:23 Uhr
Goto Top
das ist die Node.js Webserver Datei dazu...

Mitglied: wiesi200
wiesi200 14.09.2021 um 08:07:20 Uhr
Goto Top
Hallo,

mit gefällt da auf die schnelle die Zeile nicht

wenn dann eher

Teste einfach mal den node.js per Webbrowser aufrufen. Da musst du die richtigen Daten bekommen.
Und genau so muss das per JavaScript über den Webseite aufgerufen werden.
Mitglied: godlie
godlie 14.09.2021 um 08:08:58 Uhr
Goto Top
Hallo,

das was du suchst ist ein ajaxCall auf die URL vom Webserver, diesen führst du auf onClick bei deinem Button aus.

https://www.w3schools.com/js/js_ajax_intro.asp
Mitglied: Florian86
Florian86 14.09.2021 aktualisiert um 08:27:21 Uhr
Goto Top
Hallo,

Ich habe beides versucht und bekomme immer den Klartext der sap.js zurückgegeben...
https://administrator.de/images/c/2021/09/14/90459e903aa77156e4e9534bef2 ...

Letztendlich soll die sap.js ausgeführt werden und mir eine json Datei füllen. Führe ich diese über die Console aus
funktioniert diese auch.
sapjs
Mitglied: colinardo
colinardo 14.09.2021 aktualisiert um 08:37:23 Uhr
Goto Top
Zitat von @Florian86:

Hallo Colinardo,

ich habe mich vlt. etwas missverständlich ausgedrückt. Ich möchte über meine HTML Seite einen Button klicken welcher
die sap.js serverseitig ausführt.
Ich habe dich schon verstanden, du aber offensichtlich nicht ganz. :-) face-smile
Wenn ich das so mache wie du sagst bekomme ich die Meldung das Require im Javascript Kontext nicht definiert ist.
Ist ja auch logisch denn der zweite Code von mir oben gehört in den Server-Teil muss also auf dem Server ausgeführt werden und nicht auf dem Client!! Es ist ja ein wesentlicher Unterschied zwischen Client- und Server-JavaScript.

app.use('/',express.static(clientDirectory));

Damit lieferst nur jede Datei "statisch" aus so kann das nie was werden. Also im Server die Funktionen der sap.js ausführen lassen und den Server dynamisch das Ergebnis ausliefern lassen.

Der Ablauf ist folgender:
  • Server liefert HTML aus
  • Client führt Clientseitiges JavaScript aus das eine Aktion auf derm Server triggert (Aufruf einer speziellen URL via Ajax)
  • Server reagiert auf diese spezielle URL mit einem serverseitigen Aufruf deiner SAP Funktionen wie oben gezeigt und liefert das Ergebnis als HTML aus.
  • Client JavaScript verarbeitet die vom Server zurückgelieferten Daten und setzt es in das HTML Element.

Mitglied: godlie
godlie 14.09.2021 um 08:34:01 Uhr
Goto Top
Hallo,

dir ist aber schon klar das auf dem "Server" die app.js per "node app.js" laufen muss damit du vom "Client" mit o.g. Methoden zugreifen kannst? die app.js über einen Webserver zu Providen wid nicht gelingen...

https://developer.mozilla.org/de/docs/Learn/Server-side/Express_Nodejs
Mitglied: colinardo
Lösung colinardo 14.09.2021 aktualisiert um 09:19:57 Uhr
Goto Top
Hier mal ein ganz einfaches Beispiel (erweitertes Errorhandling etc. weg gelassen) das du so ausprobieren kannst ohne jetzt explizit die express library zu verwenden damit du verstehst was im Hintergrund abläuft. Das Beispiel inkludiert den HTML-Code der Einfachheit halber im Node Code (macht man natürlich normalerweise nicht, ist nur für das Beipiel).

Zum Testen die index.html des Servers aufrufen: http:/server:8000/index.html.

Server-Code

sap.js

Denke das sollte deinen Knoten nun etwas lösen. Und wie immer ist die Dokumentation dein Freund und Helfer.

Grüße Uwe
Mitglied: Florian86
Florian86 14.09.2021 um 09:54:08 Uhr
Goto Top
danke ich versuch mich mal damit

MfG

Florian86
Mitglied: Florian86
Florian86 16.09.2021 um 08:50:41 Uhr
Goto Top
Danke für eure Hilfe, jetzt klappts dann auch mit express.

MfG

Florian86
Heiß diskutierte Beiträge
question
Telefonanlage m. 100 Nebenstellen ohne Support?departure69Vor 1 TagFrageTK-Netze & Geräte19 Kommentare

Hallo. Wir haben seit 7 Jahren eine VoIP-Telefonanalge Aastra 470 (mittlerweile "Mitel") und betreiben 100 Nebenstellen daran. Wir hatten die Anlage damals mit laufendem Support ...

general
Autodesk im Jahre 2021-2022dertowaVor 1 TagAllgemeinOff Topic4 Kommentare

Hallo zusammen, mal eine kleine Anekdote, u.a. da heute Freitag ist. Vor einigen Jahren hatte ich mit Autodesk AutoCAD LT zu tun, in der damaligen ...

general
DSL-Modems am F-Buchse statt N-Buchse - warum?Windows10GegnerVor 20 StundenAllgemeinDSL, VDSL19 Kommentare

Hallo zusammen, es sind jetzt hier die Fernmeldetechniker gefragt. Normalerweise wird ja ein DSL-Modem mit der F-Buchse einer TAE-NFN-Dose verbunden. Was ist der genau Grund ...

general
Außergewöhnliche hohe Spamaktivitäten und Angriffe per E-Mail gelöst beidermachtvongreyscullVor 1 TagAllgemeinE-Mail5 Kommentare

Tach Kollegen, liegt das an den bevorstehenden Wahlen? Ich beobachte seit Tagen auf unserer Firewall, dass wir massiven Spamwellen ausgesetzt sind. Bisher kommt zum Glück ...

question
Einrichtung Unify Security Gateway gelöst markaurelVor 16 StundenFrageLAN, WAN, Wireless9 Kommentare

Hallo zusammen und bitte um eure Hilfe! Wie der Titel schon sagt Folgende Situation: Ich hab ein Netzwerk in folgenden IP-Bereich: 192.168.10.x. Als Gateway dient ...

question
BAT-Datei NetzwerkordnerDawi84Vor 1 TagFrageMicrosoft8 Kommentare

Hallo Ich hoffe mir kann jemand helfen. Wie müsste ich ein Batch Datei schreiben wenn ich aus einem Netzwerkordner gewisse Datei Typen löschen möchte z.B. ...

question
Backup-Server, welcher sich selber sichertludakuVor 1 TagFrageBackup6 Kommentare

Moin Zusammen Stellen wir uns kurz folgendes Konstrukt vor: 1x Hypervisor mit 3 VMs: - DC & Fileserver - Webserver - Acronis Backup-Server Ist es ...

report
Arcronis True Image verliert Backupeinstellungen, ERNEUT!anteNopeVor 1 TagErfahrungsberichtSicherheits-Tools3 Kommentare

Hallo werte Kollegen, bei ein paar Kunden habe ich Acronis True Image in den Versionen 2017, 2018, 2019, 2020, 2021 im Einsatz. Vor ca. zwei ...