【问题标题】:Make ajax call based on change of server response?根据服务器响应的变化进行ajax调用?
【发布时间】:2015-09-24 15:06:47
【问题描述】:

当且仅当服务器发生变化时,我想发出 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 等)。请在这方面帮助我

【问题讨论】:

  • 看看websocket。
  • 你能提供一段代码吗?让我了解更多
  • 为什么负面评价...我已经把我的工作代码放在这里
  • 因为“你能提供一点代码吗?这样我可以理解更多” 愿意自己做研究。这不是我们来这里的目的。
  • 我在网上搜索了很多......但没有找到太多帮助......任何方式谢谢你

标签: javascript jquery ajax angularjs comet


【解决方案1】:

在服务器上启动一个网络套接字,你可以使用that进行连接

【讨论】:

  • 你能给我提供参考列表吗?它只提供 HTML5 WebSockets...在这肯定存在浏览器兼容性问题等
  • 大部分浏览器都支持html 5,我不认为有任何兼容性问题
  • 你正在使用 angular.js。任何支持 angular.js 的浏览器都将支持 websockets。
  • 谢谢...我会试试这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 2011-11-16
  • 2017-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多