2015-11-04 1 views
0

У меня есть веб-приложение с интерфейсом, которое использует nodejs на сервере и angularjs в клиенте, работающем локально на порту 5000. Коду клиента необходимо сделать запрос ajax к отдельной службе веб-API также выполняется локально, но на другом порту, размещенном в IIS 6.2. Это делает запрос на перекрестный поиск, для которого браузер пытается выполнить предполетный запрос. Тем не менее, предполетный сбой и обработчик ошибки ajax вызывается, код состояния ответа равен -1, а консоль Chrome показывает, что проверка предполетного кода не удалась с предположительно стандартным сообщением об ошибке Ответ на запрос предполетной проверки не прошел контрольная проверка: заголовок «Access-Control-Allow-Origin» отсутствует на запрошенном ресурсе. Происхождение 'https://localhost:5000', следовательно, не допускается. В ответе был код статуса HTTP 500.Запрос предварительной проверки CORS недействителен -1 код состояния

Насколько я могу судить, у меня есть служба CORS в моей службе веб-API. вот в самом начале моего метода Application_Start:

var corsAttr = new EnableCorsAttribute("*", "*", "*"); 
config.EnableCors(corsAttr); 

config.MapHttpAttributeRoutes(); 
// etc... 

Это точная установка работает отлично на машинах моих коллег, так что есть что-то происходит с моей машиной специально. Я в тупике, какие-то идеи о том, что может произойти? Я предполагаю, что что-то просто неправильно сконфигурировано.

+0

Что вам вещь в ответ на предполетной запрос? Существует ли Access-Control-Allow-Origin с вашим именем? – Errorpro

ответ

0

Избегайте использования диких карт ('*') и просто попробуйте с этим.

вар corsAttr = новый EnableCorsAttribute ("https://localhost", "", "");

просто замените дикую карту своим доменом.

How to allow CORS?

Смежные вопросы