Наше AngularJs WebApp передает CORS CRUD-операции со службой WebApi, размещенной в IIS, которая SSL и требует Сертификаты . Все глаголы - GET, POST, PUT, DELETE, работают в Chrome, но ... IE11 работает только GET & POST. DELETE & PUT всегда возвращает прерванный предварительный просмотр и «Отказ в доступе».
На нашей стороне WebApi мы включили CORS следующим образом:
var webApiConfig = new HttpConfiguration();
webApiConfig.formatters.JsonFormatters.SupportedMediaTypes.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("text/plain"));
webApiConfig.formatters.JsonFormatters.SupportedMediaTypes.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("text/plain"));
SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
webApiConfig.EnableCors(new EnableCorsAttribute("*","*","*","*"){ SupportsCredentials=true});
На Angular в разделе CONFIGприложение, мы перехватываем $ httpProvider и добавляем заголовки следующим образом:
Angularjs
$httpProvider.defaults.withCredentials = true;
$httpProvider.defaults.headers.post['Content-Type'] = 'text/plain';
$httpProvider.defaults.headers.put['Content-Type'] = 'text/plain';
Затем мы вызываем
AngularJs
$http.delete(urlPrefix + '/api/members/' + id)
.then(function (res) {
return res.data;
});
Любая помощь с этим была бы очень признательна.