跨域请求被阻止:& 原因:缺少 CORS 标头“Access-Control-Allow-Origin”
Posted
技术标签:
【中文标题】跨域请求被阻止:& 原因:缺少 CORS 标头“Access-Control-Allow-Origin”【英文标题】:Cross-Origin Request Blocked: & Reason: CORS header 'Access-Control-Allow-Origin' missing 【发布时间】:2016-12-21 15:54:28 【问题描述】:也许这个问题似乎是重复的,但我有自己的场景,ASP.NET MVC
应用程序,当我点击签出时它会引发以下错误。
跨域请求被阻止:同源策略不允许读取 远程资源在 http://servicelink?order=%5Bobject%20Object%5D。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。
【问题讨论】:
您需要将 CORS 标头添加到您的 ASP 代码生成的响应中。 @RoryMcCrossan 我已经浏览了几篇文章,但我不明白,如何添加以及在哪里添加这些标题 ***.com/questions/27218240/cors-in-asp-net-mvc5 我无法访问网络服务 没有。出于安全原因,跨域请求被阻止,除非接收域通过 CORS 标头明确允许。由于你调用的域没有这些headers,所以你不能通过JS代码调用它 【参考方案1】:您将无法从 javascript 访问此服务,因为您在域 aaa.com 上,而您尝试访问的服务在域 bbb.com 上.这是由浏览器实现的安全功能Same Origin Policy.
指定<add name="Access-Control-Allow-Origin" value="*"/>
或从您这边启用CORS 不会完成任何事情。您需要联系Telemo 解决方案并询问他们 以允许来自您的服务器\域的请求通过javascript 调用他们的服务。这当然不太可能发生,除非他们是您的业务合作伙伴或者您与他们达成某种协议,因此您可能需要做的是从 C# 代码中调用他们的服务方法。
您可以更改您的 javascript 以在您的代码后面调用服务器端操作\web 方法,并在后面的代码中编写 C# 代码来调用 Telemo 解决方案方法:
【讨论】:
也显示在上面的检查元素图片中附有问题以上是关于跨域请求被阻止:& 原因:缺少 CORS 标头“Access-Control-Allow-Origin”的主要内容,如果未能解决你的问题,请参考以下文章
js ajax跨域被阻止 CORS 头缺少 'Access-Control-Allow-Origin'(转)
跨域请求被阻止:同源策略不允许读取远程资源,CORS 标头中缺少令牌“缓存控制”