GoodWin64
@GoodWin64
Век живи - век учись.

Отправка данных из формы с дальнейшей обработкой NodeJS?

Доброго времени суток!
Пишу свой первый проект с использованием:
  • NodeJS
  • Gulp
  • SASS
  • Jade
  • и прочего...


Все проблемы, которые встречались, легко (а порой, не очень) гуглились.
Сейчас я застопорился на моменте, который, как многим покажется, очевиден, но у меня никак не получается его разрешить. Дело в следующем:
Данные, которые вносит пользователь (скриншот 1, п. 1,2,3), я хочу передавать на сервер и сохранять в виде JSON-файла (скриншот 2, п. 2; скриншот 3).

При использовании кода (строки 7-22, скриншот 2) при нажатии на "Submit" на открывшейся странице выводится "Hello world", а в консоли - выбранные кнопки (скриншот 2, п. 3, но без значений input'ов), значит, код срабатывает без ошибок. Кроме того, я хотел бы все действия выполнять на одном порту и с помощью одного сервера (не используя костыль, который есть сейчас; скриншот 2, п. 4).

На просторах сети я нашел много туториалов по обработке этих данных, но во всех, которые я видел, было написано что-то вроде
app.get("/some/route", function(req, res){...})
Такой синтаксис уже не подходит, т.к. текущая версия Express - 4.
Подскажите:
1) Как лучше поступить с роутингом?
2) Какой плагин Gulp подойдет для этих целей?
3) Как считывать помимо значений выбранных кнопок еще и значения input(text)?
4*) Бонус-вопрос: что делать, если при использовании синтаксиса ES6 в task-файле "serve.js" компилятор ругается? (из-за этого пришлось менять arrow-functions и interpolation под старую версию ES).

Скриншот 1: 2yerM1V6zNE.jpg
Скриншот 2: YI_H_6yVIg4.jpg
Скриншот 3: FO7eSlE-EJk.jpg
  • Вопрос задан
  • 2513 просмотров
Пригласить эксперта
Ответы на вопрос 1
olegshilov
@olegshilov
import express from 'express';
import bodyParser from 'body-parser';

const app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/', (req, res) => {
  res.sendStatus(200);
});

app.post('/', (req, res) => {
  console.log(req.body);
  res.json({
    status: 200,
    message: 'Ok'
  });
});

const server = app.listen(config.listen, (error) => {
  if (error) {
    console.error(error);
    process.exit(1);
    return;
  }

  const { address, port } = server.address();

  console.log(`Listening ${address}:${port}`);
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы