Javascript Firefox和IE中的CORS问题(在Chrome中运行良好)
我在Firefox和IE中遇到了与CORS相关的错误,但在Chrome中一切都运行得很好 我的客户打来的两个电话是Javascript Firefox和IE中的CORS问题(在Chrome中运行良好),javascript,angularjs,internet-explorer,firefox,asp.net-web-api,Javascript,Angularjs,Internet Explorer,Firefox,Asp.net Web Api,我在Firefox和IE中遇到了与CORS相关的错误,但在Chrome中一切都运行得很好 我的客户打来的两个电话是 Facebook在Chrome和Firefox中运行,但在IE11中失败。我正在打电话确认他们的令牌仍然有效。在IE中,我收到以下错误:XMLHttpRequest请求所需的跨源资源共享(CORS) 第二个调用是我的服务器,它在任何地方都启用了CORS(代码粘贴在下面)。有趣的是,这一切都在本地主机上,所以应该是同一台服务器。我收到的错误是“同源策略不允许在读取远程资源。可以通过将
var cors = new EnableCorsAttribute("*","*","*");
config.EnableCors(cors);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
更新1
嗯,它在部署到Azure时可以工作,但在本地主机上不能工作。部署后,这两个问题都得到了完全解决。非常奇怪,非常糟糕,因为我需要能够在本地测试这些东西。但至少它能起作用。。。可能会添加一些线索来解决问题
更新2
在部署(即使是客户端和服务器位于不同域上的那些域)并在本地主机上发生故障时,也能持续工作。我还没能缩小它为什么在本地失败的范围。清除缓存并删除本地文件,问题仍然存在。完全向CORS开放我的服务器,问题仍然存在。我唯一能猜到的是Azure如何处理跨Azure请求,从而在部署时绕过CORS问题。我真的需要让它在本地工作以进行测试。试试这个。不确定,但可能会解决问题 1) 在web api项目中打开nuget package manager控制台 2) 键入安装包Microsoft.AspNet.WebApi.Cors并安装它 3) 成功安装后,键入更新包Microsoft.AspNet.WebApi并安装它 4) 请检查web.config文件中的以下条目。如果有,请删除/评论
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
5) 现在转到控制器文件并导入名称空间。使用System.Web.Http.Cors
6) 现在,在控制器级别键入[EnableCors(起源:,标头:,方法:“*”),以允许控制器接受所有类型的起源、标头和方法。您是否从本地的
http
发出请求?@charlietfl https到本地主机上的https,客户端和服务器位于不同的端口上