检查页面上的GET / POST请求

时间:2014-04-16 09:54:33

标签: javascript angularjs

我有Angular应用程序,在用户进行任何操作(添加/删除等)后,控制器会显示一些警报。我如何检查这些请求?当用户在后端创建一些动作时创建json数组。我必须在用户提出请求后才显示警报。它是单页面应用程序,所有操作都不会重新加载页面。

我找到了这样的脚本here并且它有效,但是可以使用AngularJS API吗?

(function() {
  'use strict';
  var oldXHR, stateChangeHandler, prop;

  oldXHR = window.XMLHttpRequest;

  stateChangeHandler = function (evt) {
    switch (this.readyState) {
      case oldXHR.OPENED:
        console.log('Request was made', this, evt);
        break;
      case oldXHR.DONE:
        console.log('Request finished', this, evt);
        break;
    }
  };

  function newXHR() {
    var xhr = new oldXHR();
    xhr.addEventListener('readystatechange', stateChangeHandler);
    return xhr;
  }

  // Copy original states and toString
  for (prop in oldXHR)
    newXHR[prop] = oldXHR[prop];

  window.XMLHttpRequest = newXHR;
})();

2 个答案:

答案 0 :(得分:0)

基本上你需要使用$http interceptor

我已在此post中提出了一项实施方案。

答案 1 :(得分:0)

方法$ http.get作为方法$ http.post有两个属性/函数,对你有用: 首先是$ http.get('url')。success(function(){})。error(function(){}) 第二个$ http.get('url')。然后(function(){})。then(function(){})

这两个方法对于post请求都是有效的,除了它们都是promise,这在angularJS中非常有用。第一个给出了成功请求和错误之间的切换案例,第二个可以有两个以上的案例。