Как получить доступ к параметру URL после того, как я перенаправил свое приложение express в другой файл? - PullRequest
0 голосов
/ 11 апреля 2020

Мой главный express сервер называется app. js in Node.js.

app.use("/login", require(./routes/login));
app.use("/:id", require("./routes/users"));

Когда я пытаюсь получить доступ к параметру URL, он возвращает неопределенное значение.

I попытался записать req.params:

const express = require('express');
const router = express.Router();

router.get('/dashboard', (req, res) => {
    res.send(`Current Ornament Status and Data for ${req.params}`);
});

module.exports = router;

Это дает мне пустой массив.

Я полагаю, что этот параметр недоступен в другом файле после маршрутизации. Не могли бы вы предложить обходной путь?

1 Ответ

0 голосов
/ 07 мая 2020

Я думаю, вам не хватает некоторых фундаментальных битов о express. js маршрутизации, чтобы это имело смысл.

Строка require означает, что загружается другой фрагмент кода. Так что вы должны показать нам это тоже.

Элемент: id требует более подробного объяснения.

Допустим, я хочу, чтобы сервер обработал URL / finduser / 23

Там, где 23 может варьироваться, может быть любое число. Я НЕ собираюсь писать 99 различных версий router.get, верно?

router.get("/finduser/1",...
router.get("/finduser/2",...
router.get("/finduser/3",...

Нет, мы превращаем это в параметр

router.get("/finduser/:id",...

Тогда любое число, которое мы передаем превращается в req.params.id, предположим, что маршрутизатор передает req, res

EX: если мы передадим URL / finderuser / 15, то req.params.id = 15

Если вы просто передадите / finduser, тогда req.params.id НИЧЕГО не получает.

Полная информация доступна здесь * http://expressjs.com/en/guide/routing.html#route -параметры

Ваш пример:

router.get('/dashboard', (req, res)

Не имеет ЛЮБЫХ параметров. поэтому в req.params.id ничего нет.

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