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