los*_*ket 8 asynchronous angularjs
我有一个服务,我从服务器拉数据.当我单击按钮通过此服务向服务器发送请求时,窗口会冻结,直到我收到服务器的响应.有什么办法可以让这个请求异步吗?
这是我的服务.
app.factory('service', function($http) {
  return {
    getLogData : function(startTime,endTime){
      return $http({
        url:     baseURL + 'getLogData',
        method:  'GET',
        async:   true,
        cache:   false,
        headers: {'Accept': 'application/json', 'Pragma': 'no-cache'},
        params:  {'startTime': startTime , 'endTime': endTime}
      });
    }
  };
)};
HTML.
<button ng-click="getData()">Refresh</button>
<img src="pending.gif" ng-show="dataPending" />
码
$scope.getData = function(){
  service.getLogData().success(function(data){
    //process data
  }).error(function(e){
    //show error message
  });
}
Nat*_*son 13
虽然有一些关于你的方法的优点和缺点的争论,我认为问题在这里得到解答:AJAX调用冻结浏览器一段时间它得到响应并执行成功
为了测试这实际上是否是问题的一部分,假设一个响应并静态地提供它.我使用Fiddler或WireShark来获取响应,然后保存到像testService.json这样的文件中.XHR及其所有各种衍生产品(如$ HTTP $ .ajax)将其视为服务,尽管标头可能略有不同.
| 归档时间: | 
 | 
| 查看次数: | 45508 次 | 
| 最近记录: |