Чтение параметров, переданных с помощью экспресс - PullRequest
0 голосов
/ 01 декабря 2018

Я возился с nodejs в последнее время.Я немного новичок в этом.Я пытался получить параметры URL с помощью Express.У меня возникли некоторые трудности с чтением переменной в HTML-файл, который я отправил клиенту.Мой код выглядит так:

app.get('/:username', (req, res) => {
  var name = req.params.username;
  console.log(name + " " + req.params.username);
  res.status(200).sendFile(__dirname + '/public/index.html', {username: name});
});

Я могу читать переменные через консоль.Они могут быть записаны там.Но я действительно не имею ни малейшего представления о том, чтобы получить это и использовать его в файле HTML.Я попробовал что-то вроде этого:

$("#link").html(username);

По-видимому, это не работает.Ценю вашу помощь:)

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

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

const fs = require("fs");
const path = require("path");

app.get("/:username", ( req ,res ) => {

    const { username } = req.params;

    fs.readFile( path.join( __dirname, "public", "index.html" ), ( err , buf ) => {
        if ( err ) return res.status(500).send( "<p> something bad happened</p>" );
        const regexp = new RegExp(`{{\\s{0,}username\\s{0,}}}`,"g");
        const content = buf.toString().replace(regexp, username);

        res.status(200).send(content);
    });
})

. Предположим, ваш HTML-файл выглядит так:

<!doctype html5>


<html lang="en">
    <head> <title> </title> </head>
    <body>
         <p> Your username is <a href="/{{ username }}"> {{ username }} </a>
    </body>
</html>

Примечание: Пожалуйста, никогда не пытайтесь сделать это для большого проекта, вы просто закончите писать шаблонизатор с нуля и раздутый

0 голосов
/ 01 декабря 2018

Я бы предложил использовать экспресс-инструмент для генерации каркаса вашего приложения: http://expressjs.com/en/starter/generator.html

Включает код для управления тем, как получить параметры GET

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