Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Automatyczne aktualizowanie danych z serwera na stronie
#1
Witam,

Pracuję nad projektem strony, w którym chcę odczytywać dane za pośrednictwem zapytania http. Funkcja, którą zastosowałem poprawnie pobiera mi wartość zmiennej i wyświetla ją na stronie:

Kod:
todoApp.run(function ($http){
  $http.get("/cgi-bin/readVal.exe?var1").success(function (data){
  model.years = data;
});


Wartość zmiennej pobierana z tego zapytania zmienia się w czasie. Wartość zmiennej wyświetlam w widoku poprzez prostą składnię:

Kod:
<h1>Rejestr 100 = {{todo.years}} </h1>


Problem polega na tym, że wartość pobierana jest tylko raz podczas ładowania strony. Ręczne odświeżenie strony aktualizuje tą wartość. Ja chciałbym zrobić taką funkcjonalność, by ta wartość była uaktualniana automatycznie, co określony czas.

Czy ktoś spotkał się z podobnym problemem i może ma pomysł jak to rozwiązać?

Pozdrawiam.
Odpowiedz
#2
Ja właśnie mam ten sam problem i nie wiem jak go rozwiązać, mam nadzieję że ktoś na tym forum pomoże nam.
Odpowiedz
#3
(28-03-2016, 03:47)Znawca55 napisał(a): Ja właśnie mam ten sam problem i nie wiem jak go rozwiązać, mam nadzieję że ktoś na tym forum pomoże nam.

Hej,

Znalazłem rozwiązanie problemu. Wystarczy w funkcjach kontrolera wykorzystać funkcję $interval:

Kod:
todoApp.controller("ToDoCtrl", function ($scope, $interval, $http) {
    $scope.data={}
    $scope.getData = function(){
         $http.get("10.10.10.45/cgi-bin/readVal.exe?ver1").success(function (data){model.years = data;});
         console.log('Fetched data!');}
    setInterval($scope.getData, 3000);});

Potem w treści strony odwołujesz się do tego klasycznie:

Kod:
<h1>Zmienna: {{todo.years}} </h1>

Oczywiście w funkcji setInterval parametr 3000 oznacza 3000ms.
Pozdrawiam
Odpowiedz
#4
Brawo za rozwiązanie, sam bym się nie połapał
Odpowiedz
#5
Myślę, że nie tylko Ty.
Odpowiedz
#6
No co za dużo kodu to nie idzie się połapac .
Odpowiedz
#7
(30-03-2016, 13:38)Boguś777 napisał(a): No co za dużo kodu to nie idzie się połapac .

Czegoś nie rozumiesz w tym rozwiązaniu? Chętnie wyjaśnię Smile
Odpowiedz
#8
Właśnie, przecież to jest zrozumiałe
Odpowiedz
#9
No jeden zrozumie a drugi nie
Odpowiedz
#10
Dokładnie, nie ma co drążyć tematu. Temat uważam za zaamknięty.
Odpowiedz


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Tło header na stronie starej jak świat michalecpp 4 2,329 21-06-2016, 15:45
Ostatni post: webminister
  Nie działają skrypty java na stronie. dymek3r 11 3,652 03-07-2013, 14:38
Ostatni post: Kartofelek
  Problem z galerią na stronie adrian.widzew@gg.pl 4 2,012 18-03-2013, 16:37
Ostatni post: adrian.widzew@gg.pl
  Wysuwany likebox facebooka po prawej stronie. kingu80 2 1,400 20-01-2013, 17:50
Ostatni post: Kartofelek
  [CSS] cała treść wyświetlana po lewej stronie w ie haraldsson 3 1,720 22-12-2012, 02:35
Ostatni post: haraldsson

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
Tworzenie sklepów