我有一个名为GetNames的GET方法的MVC Web API。
当我想从另一个网站的AJAX中调用myapi.com/controller/GetNames时,我收到Access-Control-Allow-Origin
错误。
所以在我的MVC Web API代码中,
我在WebApiConfig中添加了这个:
config.EnableCors();
我将其添加到我的Controller方法中:
[HttpGet]
[EnableCors(origins: "http://mywebsite.net", headers: "*", methods: "*")]
public string GetNames(string requestKey)
如果很多网站都在调用这种方法怎么办?
我想允许很多来源,如果我可以允许所有来源,而不仅仅是定义的,那就更好了。
答案 0 :(得分:2)
来自EnableCorsAttribute
的文档:
origin :允许访问资源的以逗号分隔的源列表。使用" *"允许所有人。
因此,对于原始列表,您的属性现在看起来像这样:
[EnableCors(origins: "http://site1.com,http://site2.com", headers: "*", methods: "*")]
或者这适用于所有来源:
[EnableCors(origins: "*", headers: "*", methods: "*")]