5

我浏览了文档,但找不到任何提及这一点的内容。我正在使用 Angular 的 $http 服务,并希望在每个 ajax 事件之前和每个 ajax 事件之后运行代码(在等待服务器响应时显示加载消息)。

我已经包含了 jQuery 并尝试这样做:

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

但无法将消息记录到控制台。任何帮助表示赞赏。

4

1 回答 1

7

请查看有关 $http 服务的文档:http: //docs.angularjs.org/api/ng.$http

您将看到可以使用两个选项:

  1. httpInterceptor(请参阅文档中的响应拦截器部分) - 它允许您包装每个响应并在完成请求之前执行您想要的任何操作。它使用 Promise,因此在每次请求之后甚至可以很容易地执行一些异步操作。

  2. 请求/响应转换(请参阅转换请求和响应) - 它允许您处理通过 $http 的每个请求和响应 - 所以这是我的选择,因为它允许您在请求之前和之后挂钩。

于 2012-12-06T08:28:36.067 回答