angulerjs调用webapi提示 同源策略已禁止。解决方案如下:
在webapi的web.config文件的system.webserver配置节增加以下配置:
- <httpProtocol>
- <customHeaders>
- <add name="Access-Control-Allow-Origin" value="*" />
- <add name="Access-Control-Allow-Headers" value="*" />
- <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
- </customHeaders>
- </httpProtocol>
这种方式的好处是简单,只要在这里加了这个配置,那么所有的api都可以按同一种规则支持跨域请求。
注意,设置之后还要检查web.config文件中是否包含以下设置:
<remove name="OPTIONSVerbHandler" />
如果包含,需要删掉或者注释掉。