我希望我的angular-load-bar能够自动处理XHR请求

时间:2015-05-21 11:02:47

标签: angularjs http xmlhttprequest progress-bar wakanda

我正在使用后端的JavaScript框架(wakanda),它使用XHR请求,并在前端使用AngularJS。

我使用了angular-load-bar,它可以完美地自动处理HTTP请求,但它不能自动处理XHR请求。

有什么方法可以让它自动运行XHR?

1 个答案:

答案 0 :(得分:0)

XHR与HTTP

首先XHR代表“XmlHTTPRequest API”()。 (另请参阅W3C spec version& Mozilla documentation) 此API由Microsoft引入,然后由WHATWG& W3C促进了基于Ajax的网站和Web应用程序的创建。 当您发出XHR请求时,它会发送HTTP请求

$ http vs HTTP

angular-loading-bar使用angularJS $http拦截器来侦听使用角度 $ http API完成的所有HTTP请求。 角度 $ http API使用XHR发出HTTP请求,但它不会覆盖XMLHttpRequest,也不会覆盖原型。因此,它无法直接使用XHR拦截由代码生成的HTTP请求。

angular-wakanda HTTP请求

angula-wakanda是一个写在Wakanda Framework data provider之上的角度服务。然后,可以使用偶尔添加到Wakanda HTTP(RESTJSON-RPC)API和/或Wakanda数据提供者的新功能更轻松地更新自己。 由于此数据提供程序与框架无关(可与dojo,主干或其他任何内容一起使用),因此它不使用特定于角度的 $ http API,并且其HTTP请求不会被角加载杆

如何解决?

为Wakanda数据提供商引入低级适配器层是Wakanda团队已经讨论过的问题。然后,它可以允许选择在某些专用上下文中使用哪个HTTP API(如在其中XHR不是本机HTTP API的nodej中)。将来应该有一个“数据提供者”专用的github存储库添加到Github Wakanda Team Account。在此期间,您可以向Angular-Wakanda Github repository发送功能请求(请不要犹豫,提及此Stack溢出答案),为什么不,也尝试为提案做分叉; - )