2014-01-19 134 views
0

好的,所以这里是问题所在。我试图结合angularjs和旋转js进行XHR调用,并且想要在调用进行时显示旋转加载div。我为此使用了spinjs。现在我的问题是要么作出指令,但在这种情况下,我必须使用它来随处调用此指令。我正在考虑的另一个选择是拦截http呼叫,就像手表一样。通过这种方式,开发人员不必调用我的指令,他们必须使用angularjs自定义$ http和微调将自己来(因为我将扩展$ http指令)。 但是我不知道这是否可以完成。有人可以举例说明吗? 我跟着这https://groups.google.com/forum/#!msg/angular/72ukcZYeWGE/Qaspjc0qIcgJ但没有任何成功。请咨询我,谢谢拦截angulargs http调用

回答

2

我认为,用angularjs http interceptors是最佳选择这里

$httpProvider.interceptors.push(function($q, dependency1, dependency2) { 
    return { 
    'request': function(config) { 
     // start spinjs 
    }, 

    'response': function(response) { 
     // end spinjs 
    } 
    }; 
}); 
+0

你的意思是这样的? http://jsfiddle.net/K7DCN/68/任何想法为什么这个错误出来? – neoeahit

+0

@neoeahit更新了[示例](http://jsfiddle.net/K7DCN/72/)。由于跨域请求,错误仍然存​​在。 –

+0

谢谢@Andrey。请检查下面的小提琴。 http://jsfiddle.net/P7xXb/1/ 问题:是否使用httpProvider.interceptor导致响应头中的更改? 我已经在$ angularjs中使用了$ http的示例,但在你的小提琴中添加了由u修改的代码。在这种情况下,相同的工作示例失败? – neoeahit