Wpis z mikrobloga

W Express poprzez res.render wysyłam zmienne do widoku, normalnie używałem tych zmiennych do wyświetlania danych przez handlebars, ale teraz chciałbym ich użyć w pliku .js ładowanym w tym widoku. Niestety, gdy próbuje wyświetlić zmienną poprzez console.log z poziomu pliku .js to dostaję zwrotke, że zmienna o takiej nazwie jaką wpisałem w res.render nie istnieje. Jak powinienem to poprawnie zrobić? Czy nie wysyłać zmiennych przez res.render, tylko próbować ładować je bezpośrednio w .js?

#javascript #express #nodejs
  • 3
@nevill: Możesz zrobić sobie jakieś proste API, do którego wyślesz zapytanie o te zmienne z tego pliku .js, albo wrzucić tą zmienną gdzieś bezpośrednio w kod tego widoku tak jak teraz robisz res.render i pobrać ją z DOMU już w tym pliku .js
@nevill: w handlebars utwórz element HTML script i w nim zadeklaruj zmienna globalna która trzyma dane przekazane przez express do handlebars. Najlepiej zadeklaruj zmienna poprzez słowo kluczowe var. Skrypt js który ma używać tej zmiennej musi być zadeklarowany poniżej.

Mimo wszystko, łatwiej zrobić endpoint i tam wysyłać dane