Попытка получить значение из метода POST - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь сохранить строку в переменной, отправить значение с помощью POST, а затем получить его с помощью GET.

const express = require("express");
const app = express();

app.get("/memory_usage", (_req, res) => res.send(process.memoryUsage()));

app.use("/", (_req, res, next) => {
  res.locals.meow = "Meow";
  next();
});

app.post("/message/:string", (_req, res) => res.send(res.locals.meow));

app.get("/message", (_req, res) => res.send);

app.listen(3333);

Я новичок в Express. js, и я Я пытался «получить» значение через промежуточное ПО, чтобы я мог вернуть его в GET в прошлом, и это работало довольно хорошо. Но я пытаюсь добиться того же, используя POST.

1 Ответ

0 голосов
/ 20 марта 2020

res.locals существует ТОЛЬКО в течение этого указанного c запроса. Вы не можете сохранить что-то там в одном запросе, а затем получить к нему доступ в другом запросе.

Для этого вам, вероятно, следует использовать объект сеанса пользователя (модуль express-session), который создает объект для каждого пользователя и позволяет сохранять некоторые состояния из одного запроса в следующий. Хотя, в целом, http-сервер лучше масштабируется с минимальным состоянием для каждого пользователя, поэтому лучше, если состояние сохраняется на клиенте, а затем предоставляется серверу по мере необходимости (куки - один из способов сделать это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...