首页 文章

Web API 2启用CORS抛出Access-Control-Allow-Origin错误

提问于
浏览
0

我和this post有同样的问题,我已经为cors和set安装了nuget包

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

在我的api配置中,但它仍然阻止从我的开发服务器(我调用api)访问我的测试服务器(部署api的地方)

我已将web api 2的nuget包更新到2.2的最新版本,但这还没有解决问题 .

我得到的错误是:

XMLHttpRequest无法加载http://www.example.com/api . 请求的资源上不存在“Access-Control-Allow-Origin”标头 . 因此不允许Origin'http://test.local'访问 .

这里有什么我想念的吗?

2 回答

  • 1

    我之前遇到过这个问题,而且通常 crossDomain: true 应该存在 . 我会先从 fiddler 尝试相同的请求,看看你是否仍然遇到同样的错误 .

  • 0

    许多浏览器(包括chrome),不喜欢 origins 标头的通配符 * .

    config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
    

    应该替换为:

    config.EnableCors(new EnableCorsAttribute("http://www.clientURL.com", "*", "*"));
    

    如果您需要多个网站,则origins参数将接受带逗号分隔值的字符串 .

相关问题