当我的API位于主网站的子域中时,是否需要启用CORS?

时间:2014-11-03 22:06:57

标签: rest http cross-domain cors

我有一个RESTful api坐在我网站的子域中,所以设置如下:

api.blah.com - RESTful api
blah.com - Website

当我尝试执行HTTP请求时,我收到以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '(index)' is therefore not allowed access.

我认为因为它在同一个域上,这应该有效,我需要启用CORS还是还有其他我需要做的事情?

API建立在ASP.Net Web API上,网站基于AngularJS。

由于

1 个答案:

答案 0 :(得分:7)

是的,你必须启用它。您必须从服务器端向您的浏览器发送CORS allow headers。这是因为子域计为不同的origin。您可能必须允许HTTP方法,如PUT,DELETE,OPTIONS。至少我猜角度也发送了那种请求。您必须通过这些新方法处理预检请求(OPTIONS)。