CORS POST запросы не работают - ОПЦИИ (неверный запрос) - происхождение не разрешено
У меня много проблем с получением междоменного POST-запроса на контроллер Api в последней версии бета-версии 2.
Chrome (и другие браузеры) выкладывается:
OPTIONS http://api.hybridwebapp.com/api/values 400 (Bad Request)
POST http://api.hybridwebapp.com/api/values 404 (Not Found)
Это может быть связано сЭта проблема но я применил этот обходной путь и несколько других исправлений, таких как web.configдополнения здесь
Я бился головой с этим некоторое время, поэтому я создал решение, чтобы точно воспроизвести проблему.
Загрузите веб-приложение, там будет 2 кнопки одна для GET одна для POST и ответ появится рядом с кнопкой. ПОЛУЧИТЬ работает. Не удалось получить POST для успешного возврата.
Я могу получить подсказку по причине от Fiddler, но это не имеет смысла, потому что если вы посмотрите на ответ, он действительно включает домен в заголовок Access-Controll-Allow-Origin:
В решении есть папка под названием «ConfigurationScreenshots» с несколькими скриншотами конфигурации IIS (привязки веб-сайта) и свойств проекта, чтобы мне было как можно проще помочь :)
РЕДАКТИРОВАТЬ: Не забудьте добавить эту запись в файл хоста (% SystemRoot% \ system32 \ drivers \ etc):
127.0.0.1 hybridwebapp.com api.hybridwebapp.com
** СОСТОЯНИЕ: ** Похоже, что некоторые браузеры, такие как Chrome, позволяют мне продолжить POST независимо от сообщения об ошибке в ответе OPTIONS (в то время как другие, как Firefox, этого не делают). Но я не считаю это решенным.
Посмотрите на скриншоты Fidler для запроса OPTIONS, который у него есть
Access-Control-Allow-Origin:http://hybridwebapp.com
И еще ошибка:
Происхождениеhttp://hybridwebapp.com не допускается
Это совершенно противоречиво, как будто он игнорирует заголовок.