Я использую asp.net WebAPI вместе с Angular. Когда я делаю вызов от Angular до метода на моем WebAPI, я получаю сообщение об ошибке в Chrome (он отлично работает в IE), и я вижу, что с помощью Fiddler вызов выполняется как "ОПЦИИ" (я использую только $ http.post и $ http.get), в IE это делается как сообщение или получение.
Я попытался настроить заголовок для отправки с запросом ("Content-Type": "text/plain"), а затем он отлично работает в Chrome. Но проблема в том, что я использую Authorization, которая также находится в заголовке, и когда я добавляю Authorization в заголовок, взломать с типом контента больше не работает.
Я также попытался добавить пакеты NuGet "Cors" в WebAPI (и включил его в контроллер [EnableCors ("", "", "*")]), но он не внес каких-либо изменений.
Есть ли у кого-нибудь решение этой проблемы?
Большое спасибо заранее :-)
Вы также добавляете код в метод Global.asax Application_Start, когда используете корс? Не просто добавить EnableCorsAttribute
в действие
GlobalConfiguration.Configuration.EnableCors();
или вам не нужно использовать cors lib, он также используется, когда вы добавляете system.webServer
узел в узел web.config
system.webServer
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
</customHeaders>
</httpProtocol>
Возможно, вы захотите добавить httpInterceptor и добавить заголовки Access-Control, как описано в этом ответе аналогичного вопроса