AngularJs 1.5.8:如何在发送每个$ http(get / post)请求之前检查令牌是否有效

时间:2016-09-05 12:26:44

标签: javascript angularjs

我是Angularjs的新手,想知道如何在发送任何请求之前检查token的过期日期和时间。

我用谷歌搜索,发现有interceptorsdecorators这样的概念,但我有点困惑哪一个使用以及如何使用。或者有更好的方法来做到这一点。

我现在在做什么?

我创建了一个具有GET, POST函数的服务,将url,data和config作为参数,我正在检查令牌。我知道这不是正确的做法。

2 个答案:

答案 0 :(得分:0)

您可以使用将配置每个$ http调用的拦截器。 enter link description here

答案 1 :(得分:0)

您可以编写拦截器,在实际发送之前取消无效令牌请求:

return {
      'request': function(config) {
        if (condition) {
          var canceler = $q.defer();
          config.timeout = canceler.promise;
          canceler.resolve();
        }
        return config;
      }
}

显然,您可以在返回之前操作配置并(例如)更改令牌。