BodyParser req.body leer

Nico.Milano

Grünschnabel
Guten Tag an alle,

ich habe ein wenig mit dem bodyparser im express.js gespielt und eigentlich sollte es doch möglich sein sich den Inhalt des POST vorgangs anzuzeigen wenn ich req.body zurückgebe. Ich bekomme jedoch nur leer klammern {} zurück.
Anstelle urlencoded möchte ich json nutzen.

Ich habe folgendes Form gebastelt

HTML:
 <form action="/dashboard" method="post">
            <div id="form-benutzername-div">
                <input type="text" id="benutzername" placeholder="Benutzername">
                <label for="label-benutzername"> </label>
            </div>
            <div id="form-email-div">
                <input type="email" id="email" placeholder="E-Mail">
                <label for="label-email"> </label>
            </div>
            <div id="form-passwort-div">
                <input type="password" id="passwort-eins" placeholder="Passwort">
                <label for="label-passwort-eins"> </label>
            </div>
            <div id="form-passwort-div">
                <input type="password" id="passwort-zwei" placeholder="Passwort wiederholen">
                <label for="label-passwort-zwei"> </label>
            </div>
            <div id="absendenknopf-div">
                <input type="submit" id="absendenknopf" value="Registrieren">
            </div>
        </form>

und folgendes mjs file erstellt
Javascript:
import express from 'express';
const Server = express();
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const host = '0.0.0.0';
const port = 9999;
import bodyParser from 'body-parser';


// BodyParser Middleware
Server.use(bodyParser.urlencoded({ extended: false }));
Server.use(bodyParser.json());

// public static machen
Server.use(express.static(__dirname + '/public'));

// GET Requests der Webseiten
Server.get('/', function (req, res) {
    res.sendFile(path.join(__dirname + '/views/index.html'));
});

Server.get('/signup', function (req, res) {
    res.sendFile(path.join(__dirname + '/views/signup.html'));
});

Server.get('/signin', function (req, res) {
    res.sendFile(path.join(__dirname + '/views/signin.html'));
});

Server.get('/dashboard', function (req, res) {
    res.sendFile(path.join(__dirname + '/views/dashboard.html'));
});

// POST Requests
Server.post('/dashboard', (req, res) => {
    res.send(req.body);
});

// Express Server
Server.listen(port, host, () => {
    console.log(`Server läuft auf ${port}`);
})

Egal ob ich den expressjs eigenen bodyparser oder extra body-parser importiere. Das Ergebnis bleibt nach dem absenden des Form immer { }
Es wird bestimmt nur eine kleinigkeit sein jedoch finde ich den Fehler nicht. Auch diverse Suchergebnisse bei Google haben mir leider nicht geholfen.

Muss keine fertige Lösung sein ein kleiner Schubs in die richtige richtung reicht da schon :) so lernt man besser
 
Zuletzt bearbeitet:
Zurück