在角度js中替换为ajaxSetup

时间:2016-07-12 07:44:02

标签: angularjs ajax

我目前正在使用角js。我有一个控制器和服务层来处理所有AJAX调用(即所有GET,PUT等等)。 我已经在服务层编写了所有API调用(http GET,PUT ...)并从控制器调用它们,现在我有一个查询,如果我需要在每次AJAX调用之前检查会话状态该怎么办我需要什么?去做? 就像一个用户注销然后他的会话显然已过期,然后假设在这种情况下用户点击浏览器的后退按钮他应该只保留在登录屏幕上,我已经写了一些服务器端代码来检查它,我用过通过jQuery [在我以前的项目中]调用它。 我以前使用的代码如下,'

$.ajaxSetup({
statusCode:{
901:function(){ window.location.replace("./logout"; }
}
});

但是如何在角度js中实现相同的功能。 请帮忙.. !!

3 个答案:

答案 0 :(得分:0)

查看官方文档:https://docs.angularjs.org/api/ng/service/ $ http

答案 1 :(得分:0)

module.run(function($http) {
$http.defaults.headers.common.Authorization = 'Basic YmVlcDpib29w';
});

答案 2 :(得分:0)

将拦截器注册为服务

  $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
    return {
      // optional method
      'request': function(config) {
        // do something on success
        return config;
      },

      // optional method
     'requestError': function(rejection) {
        // do something on error
        if (canRecover(rejection)) {
          return responseOrNewPromise
        }
        return $q.reject(rejection);
      },



      // optional method
      'response': function(response) {
        // do something on success
        return response;
      },

      // optional method
     'responseError': function(rejection) {
        // do something on error
        if (canRecover(rejection)) {
          return responseOrNewPromise
        }
        return $q.reject(rejection);
      }
    };
  });
相关问题