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

标签 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。

谢谢

最佳答案

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

关于rest - 当我的 API 位于我的主网站的子域时,我是否需要启用 CORS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26724137/

相关文章:

php - 来自 REST 客户端的 NetBeans 调试 session

javascript - JS : cross-domain POST, 不需要响应

rest - 通过代理连接到本地主机重定向

rest - HATEOAS API 客户端不应使用添加书签的 URL 吗?

ruby-on-rails - 如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

http - 是否可以使 libcurl 压缩 http 消息的数据?

java - Rest Api Hit Browser 和 Postman 的区别

javascript - 在 phantomjs 中的 qunit 测试期间在 iframe 中显示 JS 错误

javascript - 如何为每个用户生成唯一 key ?

rest - 如何同时以 REST 方式创建和删除?