экспресс-сервер не может принять сообщение html-формы

#node.js #forms #pug

#node.js #формы #pug

Вопрос:

Каждый раз, когда я пытаюсь отправить сообщение на свой сервер, по какой-то причине браузер показывает мне это сообщение: «Не удается ОПУБЛИКОВАТЬ /», и я не уверен, почему. Я был бы признателен за некоторое понимание.

КОД МОПСА:

 doctype html
html
        head
                title This is a test
        body
                form(method= "post", enctype="multipart/form-data")
                        input(type="text" placeholder="insert name here" name="username")
                        input(type="file")
                        button(type= "submit") Please submit
                if reqON_Data
                        each submission in reqON_Data
                                ul
                                        li=submission 
  

КОД NODEJS:

   1 const express = require('express');
  2 
  3 const app = express();
  4 
  5 if(!app.locals.newData) app.locals.newData = [];
  6 else console.log("app.locals already exists");
  7 
  8 app.set('views', 'views');
  9 app.set('view engine', 'pug');
 10 
 11 app.get("/", (req, res)=>{ 
 12         res.render("test", { "reqON_Data": app.locals.newData});
 13 });
 14 app.post((req, res)=>{
 15         let formData = '';
 16         req.on('data', (d)=>{
 17                 formData  = d;
 18         });     
 19         app.locals.newData.push(formData);
 20         res.redirect('/');
 21 });     
 22 
 23 app.listen(8080);
 24 
 25 
  

Ответ №1:

Вам не хватает первого аргумента для вашей функции post, он должен быть:

 app.post("/", (req, res) => {
   //handle req.body
   res.render("test", data);
})