MVC Web API - политика CORS блокируется при вызове JQuery GET - PullRequest
0 голосов
/ 04 июля 2019

У меня есть веб-API, который уже включил CORS.Я уже включил в код:

WebApiConfig.cs

config.EnableCors(new EnableCorsAttribute("*", headers: "*", methods: "*"));

MyController.cs

[EnableCors(origins: "*", headers: "*", methods: "*")]

I 'm использовать Microsoft.AspNet.WebApi.Cors в пакете NuGet, чтобы использовать библиотеку для включения CORS.Но когда я пытался вызвать API во внешнем интерфейсе с помощью JQuery, у меня все еще была эта ошибка:

GET http://localhost:52259/api/coreactivities/getAllTeams 401 (Unauthorized)

Access to XMLHttpRequest at 'http://localhost:52259/api/coreactivities/getAllTeams' from origin 'http://localhost:52349' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я также попытался включить эту строку кода в Web.config API, но все равно получилошибка 401 Несанкционированный.В моем API у меня нет или я не установил никакой аутентификации в этом случае.

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD, OPTIONS" />
      <add name="Access-Control-Allow-Credentials" value="true"/>
      <add name="Access-Control-Allow-Headers" value="X-Requested-With, origin, content-type, accept" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Я не знаю, что неправильно или отсутствует в моем коде, чтобы разрешить перекрестное происхождение.

Есть предложения?

Добавлен мой вызов JQuery:

function displayTeam() {
            var url = 'http://localhost:52259/api/coreactivities/getAllTeams';
            $.get(url, function (result) {
                console.log(result);
            }).done(function (data) {
                console.log(data);
            })
              .fail(function (error) {
                  console.log(error);
              });
}
...