У меня есть внешнее веб-приложение, которое использует nodejs на сервере и angularjs в клиенте, работающем локально на порту 5000. Коду клиента необходимо сделать запрос ajax к отдельной службе веб-API, которая также выполняется локально, но на другом порту, размещенном в IIS 6.2, Это делает запрос на перекрестный поиск, для которого браузер пытается выполнить предполетный запрос. Тем не менее, предполетный сбой и обработчик ошибки ajax вызывается, код состояния ответа - -1, а консоль Chrome показывает, что проверка предполетного кода не удалась, предположительно, стандартное сообщение об ошибке "Ответ на запрос перед полетом" не передает доступ контрольная проверка: заголовок "Access-Control-Allow-Origin" отсутствует на запрошенном ресурсе. Следовательно, для источника https://localhost: 5000 'не разрешен доступ. В ответе был код статуса HTTP 500.
Насколько я могу судить, у меня есть служба CORS в моей службе веб-API. вот начало моего метода Application_Start:
var corsAttr = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(corsAttr);
config.MapHttpAttributeRoutes();
// etc...
Эта точная настройка работает отлично на машинах моих коллег, поэтому там что-то происходит с моей машиной. Я в тупике, какие-то идеи о том, что может произойти? Я предполагаю, что что-то просто неправильно сконфигурировано.
Избегайте использования wild cards ('*') и просто попробуйте с этим.
var corsAttr = new EnableCorsAttribute (" https://localhost ", "", "");
просто замените wild card своим доменом.