Я получаю CORS
ошибку в проекте asp.net web api:
Доступ к XMLHttpRequest по адресу http://abc.xyz.in/api/Sample/loginAPI'
из источника 'http://localhost:8000' заблокирован политикой CORS:
Ответ на предполетный запрос не проходит проверку контроля доступа:
HTTP не имеет статуса ok.
Даже я правильно настроил cors
. Это мой WebApiConfig.cs
:
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute("API Default", "api/{controller}/{action}/{id}",
new { id = RouteParameter.Optional });
EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
Код моих контроллеров:
[EnableCors(origins: "*", headers: "*", methods: "*")]
[HttpPost]
public IHttpActionResult loginAPI()
{
//code here
}
Добавлен этот код в Global.asax
файле:
protected void Application_BeginRequest()
{
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, PATCH, DELETE, OPTIONS");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
Я также добавил это в мой 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" />
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
Как мне решить это? Любая помощь или предложение будет высоко ценится. Спасибо !!