Как получить данные из формы express js

230
10 ноября 2017, 10:47

Не могу получить данные из формы.

Форма.

<form action="/addNewQuest" enctype="multipart/form-data" method="post"> 
  <input type="text" name="name" placeholder="Введите название квеста" class="re_quest_text_area"> 
  <input type="textarea" name="description" placeholder="Введите название квеста" class="re_quest_description_area"> 
  <input type="text" name="tasks" placeholder="Введите задания для квеста через символ '' | '' " class="re_quest_tasks_area"> 
  <input type="text" name="answers" placeholder="Введите ответы на задания через символ '' | '' " class="re_quest_answers_area"> 
  <input type="file" name="map" accept="image/svg+xml" class="re_quest_svg"> 
  <input type="submit" value="Создать"> 
</form>

Сервер.

var express = require('express'); 
var app = express(); 
var db = require('db'); 
var bodyParser = require('body-parser'); 
 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ 
  extended: false 
})); 
 
app.use(express.static(__dirname + '/public')); 
 
app.set('view engine', 'ejs'); 
 
app.get('/', function(req, res) { 
  res.render('pages/index'); 
  console.log(req.url); 
}); 
 
app.get('/*(.html)', function(req, res) { 
  res.render('pages' + req.url.slice(0, -5) + '.ejs'); 
  console.log('pages' + req.url.slice(0, -5) + '.ejs'); 
}); 
 
app.post('/addNewQuest', function(req, res, ) { 
  console.log(req.body, req.body.name); // {}, undefined 
  console.log("POST polychen"); 
}); 
 
app.listen(8080); 
console.log('Приложение запущено! Смотрите на http://localhost:8080');

Испробовал уже много разных вариантов, которые нашел в гугле, но не один не помог.

Answer 1

Оставлю как ответ, если кто-то ещё с таким столкнётся.

Для express есть модуль multer:

var express = require('express')
var app = express()
var multer  = require('multer')
var upload = multer()
app.post('/profile', upload.array(), function (req, res, next) {
  // req.body будет содержать текстовые поля
})
READ ALSO
Не правильно работает событие keyup/keypress

Не правильно работает событие keyup/keypress

Делаю вызов попапа при вводе в Input каких то символов, для этого использую событие keyup или keypress без разницыНо непосредственно при вводе с клавиатуры...

206
Ошибки при переносе проекта

Ошибки при переносе проекта

Перенесла проект из папки одной в другую

273
Тогглер анимации элемента

Тогглер анимации элемента

Я уже час пытаюсь починить тогглер анимации элементаЕго суть просто вопспроизвести CSS анимацию в обе стороны: для открытия и закрытия блока,...

199
Trailing data дата при сохранении даты

Trailing data дата при сохранении даты

Всем привет, В laravel 55 проекте обновляется строка кодом

200