AngularJS C#webapi在本地工作,部署后不提供Access-Control-Allow-Origin

时间:2018-02-28 23:35:24

标签: javascript c# angularjs cors

伙计们,我在下面遇到这个问题,当我在本地测试angularjs和C#webapi时,工作得很完美,在服务器上部署之后,它再也无法工作了。

兴趣点是我有另一个页面,它指向同一个服务器,基本上,我制作了这个工作功能的副本,只是更新了值,我已经仔细检查了文件,检查是否主要方法被改变了,但他们没有。

注意:是的,CORS已经启用,我尝试了很多不同的配置

有没有人知道这可能是什么?

  

POST 504(GATEWAY_TIMEOUT)

     

(index):1无法加载   [URL_ENDPOINT_C#_WEBAPI]   No' Access-Control-Allow-Origin'标题出现在请求的上   资源。因此不允许来源[ANGULAR_WEBSITE]   访问。响应具有HTTP状态代码504。

编辑:忘了提及我们在web.config上的确有:

 <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type, Authorization, Accept, X-Requested-With" />
        <add name="Access-Control-Allow-Methods" value="OPTIONS, TRACE, GET, HEAD, POST, PUT" />
      </customHeaders>

和我们在注册方法

上的WebApiConfig.cs
config.EnableCors();

2 个答案:

答案 0 :(得分:0)

如果您获得了504网关超时,那么您的应用就会以某种方式无法响应。由于504响应只是Web服务器返回的基本错误,因此它不会包含您明确添加的所有CORS标头,因此您将看到CORS错误消息。

一旦解决了504错误的根本原因,您就会在响应中看到CORS标头。

答案 1 :(得分:0)

好吧,我已经知道发生了什么,有一个方法抛出一个异常,然后我看到了一个CORS异常。所以我确实改变了这个方法,然后再没有例外。

谢谢大家