2

$httpBackend を使用して、Angular アプリケーションのデータを提供しています。アプリケーションがcorsを有効にしたライブサーバーに接続されたとき、正常に動作していました。しかし、今度はモック データに戻して、追加の UI 開発を行いたいと考えています。しかし、実行すると、ブラウザー (Chrome および Firefox) によって呼び出しがブロックされています。

サーバーは次のようになります。

(function () {
    'use strict';

    angular.module('autoApp.mocks').run(config);

    config.$inject = ['$httpBackend', '$httpProvider',
        'MockConfigRepository',
        'MockSearchRepository', 'MockSummaryRepository'];
    function config($httpBackend, $httpBackend, MockConfigRepository,
                    MockSearchRepository, MockSummaryRepository){


        $httpBackend.whenGET(/http:\/\/localhost.*/).passThrough();
        $httpBackend.whenGET(/autoApp.*/).passThrough();

        $httpBackend.whenGET(/http:\/\/mockServer\/api\/v1\.0\/contract\.aspx/)
            .respond(function (){
                var payload = MockConfigRepository.getPayload();
                return [200, payload, {}];
            });

            // and more calls like that 
    }
}());

私の理解では、サーバーでcorsを有効にする必要があります。私が試してみました

$httpProvider.defaults.useXDomain = true;               

$httpProvider.defaults.headers.common = {"Access-Control-Allow-Origin": "*"};

しかし、ブラウザはまだブロックしています。

誰かが私を正しい方向に向けることができますか?

4

0 に答える 0