2012-12-05 142 views
5

我浏览过文档,但找不到任何提及此内容的内容。我正在使用Angular的$ http服务,并希望在每个ajax事件之前以及每个ajax事件之后运行代码(以在等待服务器响应时显示加载消息)。angularjs是否有类似于jQuery的ajaxSetup?

我有jQuery的包括,试图这样做:

$(document).ready(function() { 
    $('body').ajaxSend(function(event, jqXHR) { 
     console.log('in jquery send'); 
    }) ; 
}); 

但无法获得登录到控制台的消息。任何帮助表示赞赏。

+1

我不确定$ http服务中是否存在挂钩,但是您可以很容易地在$ http周围创建自己的包装服务来执行此操作。 – dnc253

回答

7

请检查出$ http服务的文档:http://docs.angularjs.org/api/ng.$http

你会看到有您可以使用两个选项:

  1. httpInterceptor(见响应拦截节文档) - 它允许您在完成请求之前包装每个响应并执行所需的任何操作。它使用承诺,因此在每次请求之后甚至可以做一些异步的事情也很容易。

  2. 请求/响应转换(见转化请求和响应) - 它可以让你处理每个请求和响应,通过$ HTTP老话 - 所以这将是我的选择,因为它可以让你之前钩请求后。

相关问题