[英]'Error 405 - Method not Allowed' when sending Ajax POST request in ASP.NET Web API
[英]CORS error when sending request to ASP.NET Web API
我正在尝试从有角度的应用程序和ASP.NET Web API发送请求,它们都在两个不同端口上的localhost中运行。 当从有角度的应用程序(前端)向Web API发送请求时,出现CORS错误,即“所请求的资源上没有'Access-Control-Allow-Origin'标头”。
我尝试了多种方法来尝试解决此问题,例如在WebApiConfig类中启用cors,在web.config中启用自定义标头并拦截飞行前检查,但问题仍然存在。
WebApiConfig.cs
var corsAttr = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(corsAttr);
Web.config文件
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type,
Access-Control-Allow-Headers, Authorization, X-Requested-
With, X- AuthToken" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT,
DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
<modules runAllManagedModulesForAllRequests="true">
<add name="HandleOptions" type="OptionsModule" />
</modules>
</system.webServer>
您请求的站点似乎不允许从任何其他域访问任何资源。 表示您请求的网站尚未实施CORS(跨源请求共享)。
临时解决方案:您可以使用代理( https://crossorigin.me/https://google.com ),您所需要做的一切->只需在url
前附加https://crossorigin.me/即可 。细节
在这里检查。
第二种和永久的解决方案:必须为请求资源的站点实现跨源资源共享。
第三:第三个是您可以从浏览器( https://alfilatov.com/posts/run-chrome-without-cors/ )禁用CORS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.