web请求上的进度条($http)AngularJS



我是AngularJS的新手。我正在尝试向web服务发出请求。我想实现一个进度条,告诉我这个请求的百分比。也许有人有一个基本的例子可以指导我。如果有人能帮助我,我将不胜感激。我会再解释一点。我有这样的要求。我想让你给我看从开始到结束的百分比。我是新来的,所以我想找一些简单但实用的东西。

  $http({
    method: 'GET',
    url: "www.examplejson.com/example",
    timeout:5000
  }).success(function(data){
   console.log("complete!");
  }).error(function(response,status,headers,config) {
   console.log("error");
  });

无法知道简单HTTP请求的进度(百分比)。当你的请求离开客户端时,你会从服务器上听到的第一件事就是响应,这也意味着他已经完成了。因此,除非你正在流式传输一些东西,并且你可以逐渐将状态从服务器发送到客户端,否则唯一的选择是:

  • 估计请求将花费的时间,使用该值来构建进度条(当然,进度条只是实际等待时间的近似值)
  • 只需使用旋转器

我建议采用后一种选择。

有一个可爱的项目叫做Angular Loading Bar。

http://chieffancypants.github.io/angular-loading-bar/

它非常容易使用,当你提出请求时,它会在地址栏的正下方显示一个进度栏。试试看!有了它,您可以看到您提出的请求的进度。

有了角度加载条/非常简单:只需下载

bower install angular-loading-bar

并将其添加到您的app.js依赖项中:

angular.module('myApp', ['angular-loading-bar'])

你就完了。。。它将在您的innerHtml顶部显示进度条。。。它不仅适用于$http,而且适用于任何异步调用,因为它可以作为中间件拦截器。。。

试试这个AngularJS 的精简、站点范围的进度条

此处

最新更新