是的,我知道你在想什么-又是一个CORS问题,但这一次我被难住了。
因此,首先,实际的错误消息如下:
XMLHttpRequest无法加载http://localhost/Foo.API/token。当请求的凭据模式为'include'时,响应中的'Access-Control-Allow-Origin‘标头的值不能是通配符'*’。因此不允许访问源'http://localhost:5000‘。由withCredentials属性控制XMLHttpRequest发起的请求的凭据模式。
我不确定凭据模式是什么意思是“包含”
因此,当我在postman中执行请求时,我遇到了这样的错误:no:
但是当我通过我的angularjs web应用程序访问相同的请求时,我被这个错误难住了。这是我的angualrjs请求/响应。正如您将看到的,响应是OK 200
,但我仍然收到CORS错误:
Fiddler请求和响应:
下图演示了从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);
}
首先要感谢大家!
https://stackoverflow.com/questions/42803394
复制相似问题