Форма не отправляется в узле - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь отправить почтовый запрос из формы html и не могу понять, где я ошибаюсь.

>         <form action="/api" method="POST">
            <label for="username">username or email address</label>
            <input name="username" id="username" type="text">
            <label for="password">password</label>
            <input id="password"name="password" type="text">
            <button >Log in</button>
        </form>

вот мой основной javascript файл для html (не сервер)

    "use strict"

let options = {
    headers:{
        "Content-Type" : "application/json"
    },
    method: "POST",
}
// fetch("/api",options)

А вот мой node js сервер

"use strict"

//Installing express
let express = require(`express`)
let app = express()
app.use(express.json())

//running the server
app.listen(3000,()=>{
    console.log("server is running boi");
})
//Middleware to load the static content
app.use(express.static(`public`))

//Database stuff 
let Datastore = require('nedb')
let db = new Datastore({ filename: 'database.db' });
db.loadDatabase()
db.insert({username:"sid", password:"westham"})

//Handler for any post requests made
app.post(`/api`,(req,res)=>{
    console.log("request was made");
    console.log(req.body);
    
})

1 Ответ

0 голосов
/ 21 июня 2020

Два наблюдения

Нет middleware не найдено в вашем server.js файле для обработки данных формы, используйте body-parser http://expressjs.com/en/resources/middleware/body-parser.html

const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true });

В форме html, если вы не отправляете форму с помощью JavaScript, введите кнопку mentiod как submit

<button type="submit" >Log in</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...