У меня есть веб-сайт 1 и веб-API 2
У моего веб-API есть имя метода
public string Index()
{
return "Hello world from site 2";
}
В значениях контроллера.
Я звоню с веб-сайта 1 мой API, как это
$.ajax({
url: relativeUrl,
headers: { "Authorization": "Bearer " + accessToken },
type: "GET"
})
.done(function (result) {
console.log("Result: " + result);
alert(result);
})
.fail(function (result) {
console.log("Error: " + result.statusText);
alert(result.statusText);
});
Но у меня в консоли js есть следующая ошибка.
Доступ к XMLHttpRequest в «Веб-API 2» из источника «Веб-сайт 1» имеет
был заблокирован политикой CORS: авторизация поля заголовка запроса не
разрешено Access-Control-Allow-Headers в ответе перед полетом.
Я добавляю в свой контроллер:
[EnableCors(origins: "*", headers: "*", methods: "*", exposedHeaders: "X-Custom-Header")]
В моем WebAPIConfig.cs
config.EnableCors();
И в моем Web.config
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
Но даже при этом у меня все еще есть ошибка, я не понимаю, что мне нужно добавить и где.