express. js следующая функция, вызывающая проблемы несколько раз - PullRequest
0 голосов
/ 08 апреля 2020

В моем приложении express. js у меня есть POST-маршрут (приведенный ниже). Когда пользователь отправляет запрос POST в конечную точку / response, выполняется лог c в разделе post / response, а затем пользователь перенаправляется на другую страницу. Большую часть времени этот поток работал без каких-либо проблем, но однажды я вижу, как вызывается POST, а затем сразу же вызывается GET для URL-адреса записи, что приводит к 404, и ни один из кодов в блоке post / response не выполняется

Мне интересно, не вызывает ли следующая функция какую-либо проблему, преобразуя POST в GET и не позволяя выполнить код из POST / respone?

app.use(function (req, res, next) {
  res.locals.user = req.session.user
  logger.log("PAGE", `Page: ${req.originalUrl}`)
  next()
})

  ...

app.post("/response", [check('id').exists(), check('check').exists()], (req, res) => {
  //logic here
  return res.redirect("page2");
}

Apache log:

xx.xx.xx.xx - - [30/Mar/2020:21:30:00 -0400] "POST /response?c=val1&id=val2 HTTP/1.1" 302 263
xx.xx.xx.xx - - [30/Mar/2020:21:30:00 -0400] "GET /response?c=val1&id=val2 HTTP/1.1" **404** 15974

Редактировать: логи перенаправления c

const errors = validationResult(req)

if (!errors.isEmpty()) {
  logger.log("SEV1E", "Server side validation error " + JSON.stringify(errors))
  sendTranLog(req.query.id, "WC_SEV1_VALI_FAIL", "ERROR")
  return res.redirect("../page?status=e&id=RESP_ERROR&redirect=true")
}

db.run(fresSql, fResVals, function (err) {
  if (err) {
    return console.error(err.message)
  }
  res.redirect("../page?status=" + respStatus + "&id=" + tuid + "&redirect=true")
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...