根据服务器响应的变化进行ajax调用?

时间:2015-09-24 15:06:48

标签: javascript jquery ajax angularjs comet

我想在当且仅当服务器发生变化时才发出ajax请求...目前我正在使用彗星技术...我向服务器发出请求并等待响应。当响应到来时,一秒后我再次向服务器发送请求。

我在这个过程中使用了angularjs ......这是我的代码......

myapp.run(function(Poller) {});
        myapp.factory('Poller', function($http, $timeout) {

          var data = { response: {}, calls: 0 };
          var poller = function() {

        $http.get('http://example.com').success(function(data, status, headers, config) {
              data.response = data;
              $('.serverStatus').text(data.response.message);
              data.calls++;
              $timeout(poller, 1000);
            });
          };
          poller();

          return {
            data: data
          };
        });

但问题是它在服务器上施加了太多负载......如果我有数千名用户使用我的应用程序,我的服务器就会卡住。

我的页面只应在服务器发生更改时调用服务器(如db或json等)。请帮帮我

1 个答案:

答案 0 :(得分:2)

在服务器上启动Web套接字,您可以使用that

进行连接