7

HTTP Authorization ヘッダーを使用した CORS リクエストに関する質問があります。

Web ブラウザーが POST 要求で Authorization ヘッダーを送信していないように思えますが、これを回避する方法はありますか?

ここに私のAngularコードがあります:

var app = angular.module('app', [])
    .config(['$httpProvider', function($httpProvider) {
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
    }]);

    app.controller('ctrl', function ($scope, $http) {
        $scope.insert = function () {

            $http.post('http://my.api.com/Insert',
                {
                    headers: {
                        'Authorization': 'Basic dGVzdDp0ZXN0',
                        'Content-Type': 'application/x-www-form-urlencoded'
                    },
                    data: {
                        'Code': 'test data'
                    },
                    withCredentials: true
                });
        };
    });

サーバー側では、これをweb.configに持っています

<httpProtocol >
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With" />
    <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
    <add name="Access-Control-Allow-Credentials" value="true" />
  </customHeaders>
</httpProtocol>
4

2 に答える 2

0

withCredentials - {boolean} - XHR オブジェクトに withCredentials フラグを設定するかどうか。詳細については、認証情報を含むリクエストを参照してください。

于 2013-10-13T08:45:23.860 に答える