путаница с res.render в javascript - PullRequest
0 голосов
/ 19 февраля 2020

Я проводил уроки кодирования в свободное время, и некоторые фрагменты кода немного путаются:

  • Первый - это атрибут действия в HTML
  • Второй - это фрагмент кода:

    app.get("/", (req, res) =>// The / is a shortcut for index.html
    {
        res.render(index);//
    }); 
    

В этом меня смущает то, что индекс. html является необходимой частью функция и в этой функции мы просто отвечаем, отрисовывая точную страницу, как и раньше (в чем смысл)

  • третий и последний беспорядок связан с этим фрагментом кода здесь :

    app.post("/thanks.html", (req, res) =>
    {
        data = [];
        data.push(req.body);
        res.render("thanks", {data});
    }
    

Что меня смущает в этом коде, так это то, что он говорит, что мы получаем запрос от благодарности. html, которая еще не была сделана. Это делается, когда res.render отображает страницу с благодарностью. html.

1 Ответ

0 голосов
/ 19 февраля 2020

мы просто отвечаем, отрисовывая точную страницу, как раньше (в чем смысл)

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

Что меня смущает в этом коде, так это то, что он говорит, что мы получаем запрос от благодарности. html, которая еще не была сделана .

Первый аргумент app.post или app.get - это путь , который должен появиться в URL , который браузер запрашивает с сервера .

Это , а не имя файла.

Ответ определяется кодом в функции, являющейся вторым аргументом. Это не файл, если только код явно не читает файл.

res.render("thanks", {data}); указывает Express использовать шаблон с именем thanks (а ранее должен был настроен механизм шаблонов ) который получает передает данные из запроса.

Если вы не создали шаблон thanks, то запросы на /thanks.html, вероятно, просто вызовут ошибку на сервере.

...