angular.js - angular $http拦截器 headers注入token
phpcn_u1582
phpcn_u1582 2017-05-15 17:07:10
0
2
570

拦截器服务

.factory('sessionInjector', function ($rootScope) {
    // Service logic
    var sessionInjector = {
      request: function(config) {
        if ($rootScope.sysuser) {
          config.headers['token'] = $rootScope.sysuser.token;
          
        }
        return config;
      }
    };
    return sessionInjector;
  });

结果:

我写了个拦截器headers注入token,但是怎么注入了heads的Access-Control-Request-Headers的呢?

注入拦截器是这样写的:

$httpProvider.interceptors.push('sessionInjector');

应该没错吧?不知道哪里出问题了

后面测试了下不用拦截器直接注入,和在单个请求中加header都一样跑去了heads的Access-Control-Request-Headers

phpcn_u1582
phpcn_u1582

全員に返信(2)
阿神

アクセス制御リクエストヘッダー

プリフライトリクエストを作成するときに、このヘッダー情報を使用して、実際のリクエストで運ばれるカスタムヘッダー情報をサーバーに伝えます。複数ある場合は、カンマで区切ることができます。

アクセス制御リクエストヘッダー: <フィールド名>[, <フィールド名>]*

いいねを押す +0
黄舟

私も同じ問題に遭遇しました。Googleで検索したところ、他の人もこの問題に遭遇していることがわかりました。予想外に、誰かが答えをくれました。それはサーバーに関連しています。Angular が独自のクロスリクエストメソッドを使用しているため、サーバーがそれをサポートしていないと言われています。 http-server0.90​​ でこの問題が発生しました。すべてのファイルを Tomcat にコピーすると、問題は解決します。サーバー ソフトウェアを変更してみることをお勧めします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート