Как обрабатывать url маршрута с переменными номерами в них в узле.js с express?

В узлах.js with express, I want a url route like this

app.get('/class/^(d+)$/feedback', function (req, res) {

});

так например /class/5/feedbackдолжны быть допустимы, но цифры в узле.JS regex, кажется, не работает.

Кто-нибудь знает, как заставить его работать?

Спасибо

2 ответа

  1. Вы должны удалить якоря (^и $) из regex и поставить его должным образом. Вам также нужно бежать/, как \/и нет необходимости 'при использовании regex. Ваше последнее regex будет выглядеть как

    /^class\/(\d+)\/feedback$/
    

    Код

    app.get(/^class\/(\d+)\/feedback$/, function (req, res) {
         res.write(req.params[0]);
    });
    
  2. Допустим, номер называется «id». Это лучший способ:

    app.get('/class/:id/feedback', function (req, res) {
        var id = req.params.id;
    });
    

    : id-это доступ через ключевое слово ‘params’.