используя Node.js / Express. Я определяю путь, передавая запрос и ответ.
Я всегда хочу включить параметр исходного URL-адреса, когда этот путь будет найден, поэтому я установил для этого параметра исходного запроса значение 0 и перенаправил URL-адрес.
Что я хочу сделать дальше - это рандомизировать этот параметр с каждым запросом / ответом и обновлять URL-адрес на основе дополнительного другого URL-параметра, в данном случае random=true
.
Маршрут по умолчанию должен выглядеть как localhost:3000/default?seed=0
Маршрут, если используется параметр random=true
, может выглядеть как localhost:3000/default?seed=456&random=true
, где начальное число обновляется при каждом запросе.
Мой код (server.js с использованием модулей express, canvas и url):
`app.get("/default", (req, res) => {
//some logic to generate random numbers for the seed parameter
let seed = Math.round(Math.ceil(Math.random() * parseInt(req.query.seed + 1) * 100))
// if we hit the path and no seed param is defined always give it zero
if(!req.query.seed) {
req.query.seed = 0;
res.redirect(url.format({ // redirect the url with the new param
pathname: '/canvas',
query: req.query
}))
}
//if we hit the path and the random param is set to true and there is a seed parameter
if(req.query.random === 'true' && req.query.seed) {
req.query.seed = seed; // use randomized seed as the new seed param value
res.redirect(url.format({ // redirect to the url with the updated seed
pathname: '/canvas',
query: req.query
}))
//render our response
canvas(req, res);
});`
Что я вижу: URL-адрес обновляется. Я получаю такие результаты, как:
/default?seed=115&random=true,
/default?seed=21457&random=true,
etc
Однако мой холст не рендерится, и в браузере возникает ошибка слишком большого числа перенаправлений localhost redirected you too many times.
Я не очень хорошо разбираюсь в концепциях перенаправленияв узле, но был бы признателен, если бы кто-то мог указать мне правильное направление, чтобы это больше не было ошибкой. Спасибо