• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed [NodeJS] Porada odnośnie aplikacji w NodeJS i pobierania danych z bazy danych

VPS Starter Arubacloud
+1 głos
483 wizyt
pytanie zadane 6 stycznia 2021 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 7 stycznia 2021 przez Marak123

Ogółem to uczę się robić aplikacje w node.js i mam mały problem bo aplikacja musi pobrać dane z bazy danych i wyświetlić je na stronie za każdym razem gdy użytkownik odświeży tą stronę i tu się robi problem(może nie problem ale nie wiem gdzie to zrobić) bo wiem ze musi się to zrobić po stronie klienta a nie serwera bo gdy zrobię to w pliku app.js która uruchamiam nodem to zrobi się to tylko raz i jeżeli ktoś doda coś do bazy danych to się to nie wyświetli po odświeżeniu strony.

app.js

//Główny plik który uruchamiam za pomocą noda

index.hbs

//Główna strona która się wyświetla użytkownikowi 

script.js

//Plik który jest mechanizmem działania przycisków na stronie index.hbs

I teraz moje pytanie polega na tym w którym pliku to pobrać aby się to za każdym razem wyświetlały aktualne dane z bazy danych czy może istnieje sposób aby to zrobić za pomocą jakiegoś zapytania post które będzie użytkownik wysysał do pliku app.js aby pobrać i wyświetlić aktualne dane z bazy danych 

komentarz zamknięcia: dzięki za odpowiedź i pomoc

2 odpowiedzi

0 głosów
odpowiedź 6 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)

Jeśli klient ma coś pobrać przy ładowaniu strony, to podepnij skrypt, który wyśle Ajax pod endpoint, który zwróci klientowi dane z bazy (czy też inną konfigurację dla apki). Po stronie serwera możesz ograniczyć częstotliwość odpytywania bazy np. cache'ując te dane i sprawdzając, czy od ostatniego odczytu coś się zmieniło - jeśli tak, to odpytaj bazę i zwróć świeże dane, a w przeciwnym razie zwróć dane z cache. Sam Ajax również możesz zcache'ować.

komentarz 7 stycznia 2021 przez Marak123 Stary wyjadacz (11,190 p.)
Dzięki za pomoc dobre rozwiązanie. Odnośnie ajaxa to dobre by było zrobić za pomocą ajax skrypt który wyśle zapytanie do endpointa i sprawdzi czy dane na stronie są takie same co w bazie danych i jeżeli będą się różniły to zostaną dodane nowe dane na stronę aktualizując ją bez jej przeładowywania Dobre jest takie rozwiązanie czy raczej nie zalecane??
1
komentarz 7 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)
Tak, można to rozwiązać np. w ten sposób.
0 głosów
odpowiedź 6 stycznia 2021 przez Tomek Sochacki Ekspert (227,490 p.)
A dlaczego nie możesz po prostu na obsłudze endpointu GET na stronę pobrać każdorazowo danych? Oczywiście warto byłoby pomysleć nad jakimś cache itp. ale to w sumie zależy już biznesowo od tego co to są za dane. Ewentualnie możesz wystawic sobie osobny endpoint GET, na który uderzy front gdy się załaduje, zależy co dokładnie chcesz uzyskać, jak przekazujesz dane w podstawowym endpoincie itp.
komentarz 7 stycznia 2021 przez Marak123 Stary wyjadacz (11,190 p.)
A w sumie dobry pomysł o zrobienie tego w GET trochę potrwało to zanim zrozumiałem o co ci chodzi i jak to zrobić bo pierwszy raz używam node.js ale udało się i zrobiłem działa. A odnośnie cache to nie wiem jeszcze jak to zrobić ale się dowiem. Dzięki za pomoc!

Podobne pytania

0 głosów
1 odpowiedź 337 wizyt
0 głosów
0 odpowiedzi 315 wizyt
pytanie zadane 13 czerwca 2017 w SQL, bazy danych przez Ciapuch Obywatel (1,040 p.)
0 głosów
0 odpowiedzi 4,049 wizyt

92,973 zapytań

141,937 odpowiedzi

321,175 komentarzy

62,301 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...