2016-05-11 4 views
0

Ich habe diesen Javascript-Code:Hinzufügen von Abfragemechanismus in AngularJS

function PostsCtrlAjax($scope, $http) { 

    $http({ 
    method: 'GET', 
    url: 'http://localhost:8080/basic-web-app/viewarrived' 
    }).success(function(data) { 
    $scope.posts = data; 
    }); 
} 

Meine Frage ist, wie kann ich einen Polling-Mechanismus hinzufügen, so dass er die Daten in einem bestimmten Intervall aktualisiert?

+0

ein Selbst hinzufügen Timeout-Zeit im Fall des Scheiterns Aufruf – Dellirium

+0

Indem Die Daten in $ scope werden automatisch aktualisiert, wenn sich Daten ändern. Andernfalls können Sie $ watch im Controller verwenden, um Änderungen an Variablen zu beobachten und eine Funktion aufzurufen. Erklären Sie, was haben Sie – AlainIb

+0

zu bekommen präzisere Hilfe tun wollen möchte ich die Daten automatisch in der Ansicht ändern, wenn es in der Datenbank ändert, und ich möchte einen Abfragemechanismus ($ timeout) verwenden, dass –

Antwort

0
function PostsCtrlAjax($scope, $http, $interval) 
{ 
    $scope.posts = []; 

    $interval(function() { 
     $http({method: 'GET', 
        url: 'http://localhost:8080/basic-web-app/viewarrived' 
     }). 
     success(function(data){ 
      $scope.posts.push(data); 
     }) 
    }, 1000); 
} 

Es wird gut sein, das $ Intervall svc zu überprüfen:

https://docs.angularjs.org/api/ng/service/ $ Intervall

this helps :)

+0

Dank zu tun! Ich habe den vorgeschlagenen Teil hinzugefügt, aber jetzt fügt es eine leere Zeile in jeder Sekunde, keine Änderungen in den Daten selbst dann, wenn Änderungen in der Datenbank auftreten. Irgendwelche Ideen? –

+0

Sie benötigen, um Ihre Daten in Erfolgsfunktion zu überprüfen, dann ist es in $ scope.post Array zu drücken, sonst werden Sie in Array scope.posts $ unerwünschtes Element haben – f14ka

+0

Ich glaube, meine Funktion Daten nicht zurück, obwohl es sollte. Dies ist der Code zur Zeit: –

Verwandte Themen