基本上我正在尝试访问上传到Azure上的web api。
我已将我的CORS属性添加到我的WebApiConfig类:
public static void Register(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("http://localhost:51407", "*", "*");
config.EnableCors(cors);
但是每当我发送一个Ajax请求(使用angularJS)时,它都包含
Origin: http://localhost:51407
我收到错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:51407' is therefore not allowed access.
可能是什么问题?
答案 0 :(得分:1)
对于.NET服务器,可以在web.config中进行配置,如下所示
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="your_clientWebUrl" />
</customHeaders>
</httpProtocol>
</system.webServer>
答案 1 :(得分:1)
要解决此问题,您需要配置CORS-es。 首先转到“Web.config”,找到“system.webServer”标签,在里面添加下一行:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
就是这样。
答案 2 :(得分:0)
我还使用Azure网站中的webapi2和AngluarJS客户端(不同的服务器)。
请检查我的回答:https://stackoverflow.com/a/25758949/361100
如果您无法解决问题,请查看以上链接的其他答案。