Javascript AngularJS和WebAPI CORS

Javascript AngularJS和WebAPI CORS,javascript,.net,angularjs,asp.net-web-api,cors,Javascript,.net,Angularjs,Asp.net Web Api,Cors,WebAPI上的CORS问题是愚蠢的还是我的问题? web服务不应该被第三方使用吗?有人能给我解释一下为什么我在调用WebAPI时遇到问题,如果它在不同的域上,它是一个web服务,它应该在不同的域上 我将CORS库添加到我的WebAPI中,并在配置中添加了enable,但仍然不起作用 谁的好主意就是打两个电话只是为了得到CORS的信息。现在我所有的要求都会加倍 如何解决AngularJS和Webapi之间的CORS问题?如果有人能从理论上向我解释,为什么我不能在没有CORS的情况下调用我的web

WebAPI上的CORS问题是愚蠢的还是我的问题? web服务不应该被第三方使用吗?有人能给我解释一下为什么我在调用WebAPI时遇到问题,如果它在不同的域上,它是一个web服务,它应该在不同的域上

我将CORS库添加到我的WebAPI中,并在配置中添加了enable,但仍然不起作用

谁的好主意就是打两个电话只是为了得到CORS的信息。现在我所有的要求都会加倍


如何解决AngularJS和Webapi之间的CORS问题?如果有人能从理论上向我解释,为什么我不能在没有CORS的情况下调用我的web服务,那就太好了。web服务不应该被所有人使用吗?

CORS问题不会发生在WebAPI部分。当WebAPI和客户端位于两个不同的端口时,它将始终位于客户端部分

如果是ASP.NET WebAPI,则需要安装Microsoft.Owin.Cors包,并在web服务器启动时初始化Cors

在WebiApiConfig.cs中,输入如下内容:

    var cors = new EnabledCorsAttribute("", "", "DataServiceVersion,MaxDataServiceVersion"); 
config.EnableCors(cors);
Web.Config

<httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="http://localhost" />
                <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept, Cache-Control" />
                <add name="Access-Control-Allow-Credentials" value="true" />
                <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
            </customHeaders>
        </httpProtocol>


请考虑澄清你想要的帮助,并从帖子中删除随机的咆哮。WebAPI上的CORS确实没有问题:)如何解决AngularJS和WebAPI之间的CORS问题?如果你能从理论上解释为什么我首先需要CORS,我将不胜感激。为什么我不能在没有任何选项的情况下调用web服务,还有什么不可以…CORS与AngularJS和WebAPI没有任何特别的关系。你的浏览器真的看到了两个不同的URL,也许是因为它们在不同的端口上?浏览器很可能是罪魁祸首。在同一端口或域(如services.yourdomain.com和app.yourdomain.com)上获取这两个应用程序,则不会出现CORS问题。每个应用程序都部署在子域上。它们共享同一父域。但是,它不起作用。将来,am gona需要在域外发出请求,因为我将托管两个系统…WebAPI和客户端部署在不同的子域上。我安装了WebAPI CORS 2.2并添加了config.EnableCors()。但它不起作用。这和欧文科有什么不同吗?