Node.js Express Post Request

  • Da ich in dem Forum kein Thema mit ähnlichem Problem finden konnte, mache ich jetzt meinen ersten Post auf.


    Ich habe aktuell einen Node-Js Anwendung auf einer meiner gemieteten Domains laufen. Die Anwendung hat Express installiert.


    Express hat 2 Routen:

    1. /add (GET REQUEST) Response: {status: 0}

    2. /add (POST REQUEST) Response: {status: 1}


    Die 2 Routen unterscheiden sich also nur im Request Type und die damit verbundenen JSON-Response.


    Wenn ich local (auf meinem Pc) die Anwendung mit node app.js starte und via Postman einen Post Request mache, erhalte ich auch {status: 1} zurück (soweit kein Problem)


    Wenn ich nun dieselbe Datei (app.js) sowie package-lock.json und package.json hochlade, entsprechende NPM-Packages via Plesk Onyx installiere und die Anwendung starte erhalte ich sowohl mit Postman als auch im Browser {status: 0}

    Das Problem ist, ich möchte später über diese Route Daten in eine Datenbank eintragen aber schaffe es nicht in die POST Routine von express zu gelangen.

    Bei Rückfragen kann ich auch gerne den Quellcode hier einfügen, hierbei handelt es sich aber um eine super einfach express Anwendung mit 2 routen.

    Vielen Danke für die Hilfe im Vorraus

    Alex

  • Moin

    Ich suche auch noch einen Weg um die Anwedungen vom locahost auf dem Webhost %000 zu deployen.

    Wenn nur der GET req. ausgeführt wird, scheint der "optionale" Teil der url nicht ausgelesen zu werden....


    könntest Du den code - (dist) besonders wenn er einfach ist -, eimal zu veröffentlichen.


    Gibt es in Plex / Firewall eine Methode zum Unterdrücken von url-Anhängen?


  • Hier sind 3 Routine definiert:


    1. /does liefert einfach nur ein JSON-Object zurück


    2./query macht eine connection aus der DB und ließt diese auch erfolgreich aus


    3./add funktioniert nicht. Im Webbrowser steht 'Cannot GET /add'


    Sry für die verspätete Antwort

  • Weil du offensichtlich sie für GET nicht definiert hast, oder?

    Ich weiß nicht wie Express genau funktioniert aber mit Node du bekommst deine environment wo du dann If Post/Get machst und dann kommen weitere If und du hast da einfach keine add Funktion

  • Ok aber offensichtlich möchte ich über diese Route Daten an den Server senden (JSON-Object)


    Wenn ich via Postman eine Post-Request an diesen Endpoint mache, mit JSON Object, kommt die selbe Fehlermeldung wie im Browser.


    Getestet wurde auch, was passiert, wenn ich eine GET und POST Routine für den selben Endpunkt habe. In diesem Falle wird allerdings immer die GET Routine aufgerufen und nie die POST Routine. Somit bleiben mir die Daten aus der POST Object verwehrt

  • Im meinem Falle ist im Root-Verzeichnis nur die App.js, Node-Modules, package.json etc. und ein Ordner public.


    Dort befinden sich die HTML und co. Dateien für die Website

  • Im Node post request abzufragen ist ganz anders als get... Da liest man mehrmals irgendeinen Chunk fast wie ein File... Dh wenn du einfach aus der get Funktion eine ähnliche Post erstellt hast wird wohl nicht funktionieren... Wie gesagt keine Ahnung wie Express das macht.

    Komisch dass Postman mit Post Anfrage bekommt Cannot GET/add ?????

  • Ok anscheinend hat echt die Zeile


    const http = require('http')


    gefehlt, weil jetzt bekomme ich via Postman die Antwort der Post route zurück.


    Vielen Dank für euere Hilfe