搜尋

首頁  >  問答  >  主體

angular.js - angular中如何設定全域的ajax請求?

需要給每次請求加上權限判斷以及增加提示?小白問題大家請輕碰

迷茫迷茫2744 天前569

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-15 16:52:14

    你最好把問題描述的詳細一點,因為具體的做法可能會根據情況而有所不同。

    大體上如果只是為了自訂 Headers,那麼可以使用 $httpProvider 就可以了。

    module.config(['$httpProvider', function ($httpProvider) {
        $httpProvider.defaults.headers.common['ANYTHING'] = 'YOU_NEEDED';
    }]);
    

    要注意 postpatchputheaders 有各自獨立配置的部分(common 是所有方法共享的)。另外,module.config 裡的設定只在初始化有效,若在運作期間需要修改就直接 $http service 吧:

    $http.defaults.headers.common.Authorization = 'Basic YmVlcDpib29w'
    

    如果是為了對請求、回應,請求錯誤及回應錯誤做統一處理,那就需要使用攔截器(Interceptors)了。這個範例的程式碼太囉嗦我就不寫了,自行查看 $http service 文檔就是。簡單地說一下就是,你可以使用factory 創造自定義的攔截器,然後把它們添加到$httpProvider.interceptors (是一個數組)之中,如此一來這些攔截器就好像中間件那樣的對每一步請求都做出統一的處理。

    最後還是得說,要嘛你把問題描述的詳細準確一些,要嘛主動看一下文檔,$http$httpProvider 的文檔就那麼兩頁,你想知道的東西都在那上面。

    回覆
    0
  • 取消回覆