是的,我知道您在想什么-另一个CORS问题,但是这次我很困惑。
因此,开始时,实际的错误消息为:
XMLHttpRequest无法加载http://localhost/Foo.API/token。当请求的凭据模式为'include'时,响应中'Access-Control-Allow-Origin'标头的值不得为通配符'* '。因此,不允许访问源' http:// localhost:5000 '。XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。
我不确定凭证模式的含义是'include'吗?
因此,当我在邮递员中执行请求时,没有遇到这样的错误:
但是,当我通过我的angularjs Web应用访问相同的请求时,我为这个错误感到困惑。这是我的angualrjs请求/响应。如您所见,响应为OK 200
,但我仍然收到CORS错误:
提琴手的请求和响应:
下图演示了Web前端对API的请求和响应
因此,根据我在网上阅读的所有其他帖子,似乎我在做正确的事情,这就是为什么我无法理解该错误的原因。最后,这是我在angualrjs(登录工厂)中使用的代码:
API中的CORS实现-参考目的:
方法1:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
EnableCrossSiteRequests(config);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*")
{
SupportsCredentials = true
};
config.EnableCors(cors);
}
}
使用的方法2:
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
ConfigureOAuth(app);
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
提前谢谢了!
*
-因此,服务器端在做CORS错误-哦,邮递员工作是因为这不是跨源请求