每60秒自动重新加载路线

时间:2013-08-22 10:10:36

标签: javascript angularjs

我需要每60秒后重新加载路线。当我添加<meta http-equiv="refresh" content="60">元标记时,它会刷新页面,但当元刷新页面时,页面会自动重定向到主页。

我需要针对上述问题的解决方案。我正在填充JSON数据,所以我需要每隔60秒刷新一次页面。

$http.get('json/dashboard-home.json').success(function(data) {
    $scope.campaigns = data;

上面是我用来获取json数据的代码,下面是我用来访问其他页面的方法。

$scope.tab = $routeParams.tab || 0;
    $scope.views = [
        { src: 'view/dashboard.html' },
        { src: 'view/details.html' },
        { src: 'view/leads.html' }
    ];

3 个答案:

答案 0 :(得分:2)

您不需要刷新页面只是为了刷新数据 - 这是AJAX XHR提供的优势,而不是像普通的PHP,ASP(.net)等那样使用对客户端的原始响应来提供数据。

答案 1 :(得分:0)

我没有测试过这个,但它应该足够了:

var scheduleReload = function() {
  $timeout(function() {
    $http.get('json/dashboard-home.json').success(function(data) {
      $scope.campaigns = data;
    });
    scheduleReload();
  }, 60*1000);
};
scheduleReload();

请确保您依赖the $timeout service

答案 2 :(得分:0)

我强烈建议您不要每隔60秒刷新页面,原因很多:

  1. 它反对AJAX,它只是加载你需要的东西而不仅仅是那个。
  2. 如果您的想法是关于实时数据,则应使用websockets。每次有新的json数据,然后在前端更新它。这将以正确的方式解决您的问题。