PUT & DELETE возвращает предпечатную проверку, прерванную только в IE 11 - PullRequest
0 голосов
/ 01 ноября 2019

Наше 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;
});

Любая помощь с этим была бы очень признательна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...