CORS预检请求无效-1状态代码

问题描述:

我有一个前端Web应用程序,它在服务器上使用nodejs,在本地端口5000上运行的客户端中使用angularjs。客户端代码需要向单独的Web API服务发出ajax请求也在本地运行,但在IIS 6.2中托管的另一个端口上运行。这使得它成为一个跨浏览器的请求,浏览器正在尝试进行预检请求。但是,预检失败并且调用了ajax错误处理程序,响应的状态码为-1,Chrome控制台显示预检检查失败,推测标准错误消息为对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此'Origin'https://localhost:5000'不允许访问。响应的HTTP状态代码为500.CORS预检请求无效-1状态代码

据我所知,我的Web API服务中启用了CORS。这里是我的Application_Start方法的开始:

var corsAttr = new EnableCorsAttribute("*", "*", "*"); 
config.EnableCors(corsAttr); 

config.MapHttpAttributeRoutes(); 
// etc... 

这个确切的设置是工作在我的同事的机器很好,所以里面的东西与我的机器怎么回事明确。我很难过,对可能发生的事情有任何想法?我猜测某些地方只是配置错误。

+0

您在预检请求中的回应是什么?有你的doman名字的Access-Control-Allow-Origin吗? – Errorpro

避免使用通配符('*')并试试这个。

变种corsAttr =新EnableCorsAttribute( “https://localhost”, “”, “”);

只是用您的域名替换通配符。

How to allow CORS?