2016-05-11 9 views
0

У меня есть этот код: яваскриптДобавление механизма опроса в AngularJs

function PostsCtrlAjax($scope, $http) { 

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

Мой вопрос, как я могу добавить механизм опроса, так что он обновляет данные в заданном интервале?

+0

добавить себя вызов интервала времени ожидания в случае отказа – Dellirium

+0

Поставив данные в области $ view будут обновляться при изменении данных. в противном случае вы можете использовать $ watch в контроллере, чтобы посмотреть изменение на переменной (-ах) и вызвать функцию. Объясните, что вы хотели сделать, чтобы получить более точную справку. – AlainIb

+0

Я хочу, чтобы данные автоматически менялись в представлении, когда они меняются в базе данных, и я хотел бы использовать механизм опроса ($ timeout) для этого –

ответ

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); 
} 

Это будет хорошо, чтобы проверить В $ интервала:

https://docs.angularjs.org/api/ng/service/ $ интервального

Надеются, что это помогает :)

+0

Спасибо! Я добавил предложенную часть, но теперь она добавляет пустую строку каждую секунду, никаких изменений в данных, даже когда изменения происходят в базе данных. Есть идеи? –

+0

вам нужно проверить свои данные в функции успеха, а затем нажать его в массиве $ scope.post, иначе у вас будет нежелательный элемент в массиве $ scope.posts – f14ka

+0

Я думаю, что моя функция не возвращает данные, хотя это и должно быть. Это код: –