Выполнить запрос на Node.js, используя Express и ввод ввода формы - PullRequest
0 голосов
/ 22 марта 2020

Я прошу прощения, если об этом спрашивали раньше, если это было, пожалуйста, пришлите мне в этом направлении.

У меня есть приложение node.js, использующее express. Я хочу нажать на кнопку (отправка ввода формы) на стороне клиента и запустить запрос на стороне сервера. Я не ищу запрос для публикации или размещения, я хочу, чтобы он выполнил запрос Neo4j, который генерирует CSV-файл. Запрос не является проблемой, запрос работает, проблема заключается в том, что нажатие кнопки (отправка ввода формы) на стороне клиента для запуска запроса на стороне сервера. Вот что я пробовал, что не работает ...

index.e js

<form method="post" action="/barrelsankeycsv">
    <input class="button" type="submit" value="RunQueryGenCSV">
</form>

...

сервер. js

app.post('/barrelsankeycsv', async (req, res) => {
  console.log(req.body);
  try {
    const result = await session.run('run neo4j query that generates csv file');
    if (result) {
      res.redirect('/');
      session.close();
    }
  } catch (e) {
    console.log("Something went wrong", e);
  };
});

Что я делаю не так? Я также попробовал app.all, но это тоже не работает. Если есть лучший способ go об этом, я весь в ушах.

Большое спасибо за любую помощь!

1 Ответ

1 голос
/ 22 марта 2020
  1. Используйте cURL или Почтальон, чтобы отправить запрос POST на сервер express. Если это работает, проблема на фронтенде. Но я думаю, что index.ejs не имеет проблем с тем, что я вижу.

  2. Добавьте следующий код перед маршрутизацией:

app.use(express.urlencoded({ extended: true }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...