$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": "*"};
しかし、ブラウザはまだブロックしています。
誰かが私を正しい方向に向けることができますか?