. 100% , , , , . , , http://myapp.domain/, , http://templates.domain/template.html, . , .
CORS MVC 6 (myapp.domain).
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("http://myapp.domain").AllowAnyHeader().AllowAnyMethod().AllowCredentials());
});
services.AddMvc();
}
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseCors("AllowSpecificOrigin");
app.UseMvc();
}
web.config http://templates.domain http://templates.domain, CORS http://myapp.domain/. , angular .
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://myapp.domain" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
, , , - , :
(function () {
"use strict";
var app = angular.module("myApp", ['ngRoute']);
app.config(['$provide', '$sceDelegateProvider', '$routeProvider', '$locationProvider', '$httpProvider',
function ($provide, $sceDelegateProvider, $routeProvider, $locationProvider, $httpProvider) {
$sceDelegateProvider.resourceUrlWhitelist(['self', 'http://templates.domain/**']);
$httpProvider.defaults.headers.common['Access-Control-Allow-Origin'] = true;
$httpProvider.defaults.useXDomain = true;
$routeProvider.when('/', {
templateUrl: 'http://templates.domain/template.html',
controller: 'templatesController'
})
.otherwise({ redirectTo: '/' });
$locationProvider.html5Mode(true);
$httpProvider.defaults.headers.common = {
'Content-Type': 'application/json, charset=UTF-8'
};
}]);
app.controller('templatesController', ['$scope', function ($scope) {
$scope.message = 'message from controller';
}]);
})();
html <div ng-view></div> angular-routes.
angular.
Access-Control-Allow-Origin: http://myapp.domain/
, .