当前位置: 首页 > 面试题库 >

如何在Rails下的Webrick中设置access-control-allow-origin?

牟星火
2023-03-14
问题内容

我编写了一个小型的Rails应用程序,以通过xmlhttprequests将内容提供给另一个站点,该站点将从另一个域运行(无法在同一服务器上运行它们)。我知道我将需要在我的rails服务器上设置access-
control-allow-origin,以允许发出请求的网页访问此材料。

关于如何使用Apache进行此操作的文档似乎有很多文献记录,这可能是部署站点后将使用的服务器。虽然在开发过程中,但我希望只像过去使用Rails一样使用webrick。有没有一种配置webrick的方法来在rails中提供适当的http标头?


问题答案:

如果您使用的是Rails 2,只需将其添加到应用程序控制器中。

before_filter :set_access

def set_access
  @response.headers["Access-Control-Allow-Origin"] = "*"
end

显然,改用"*"一些不太开放的方式是个好主意。



 类似资料:
  • 我尝试了几种方法来设置CORS头: null Chrome调试器在控制台中显示了以下内容: XMLHttpRequest无法加载http://localhost:8080/hop-backend/rest/shop/listhotelslandingPage。请求的资源上没有“访问-控制-允许-来源”标头。因此,不允许访问源'http://localhost:9000'。响应的HTTP状态代码为5

  • Access-Control-Allow-Origin响应 header 指示是否该响应可以与具有给定资源共享原点。 Header type Response header Forbidden header name no 语法 Access-Control-Allow-Origin: *Access-Control-Allow-Origin: <origin> 指令 * 对于没有凭据的请求,服务

  • 问题内容: 我正在对他们设置的平台上的我自己的服务器执行ajax调用,以防止这些ajax调用(但是我需要它从服务器上获取数据以显示从服务器数据库中检索到的数据)。我的ajax脚本正在运行,它可以将数据发送到服务器的php脚本以进行处理。但是由于它被 我无权访问该平台的源/核心。因此我无法删除不允许这样做的脚本。(P / SI使用了Google Chrome浏览器的控制台,并发现了此错误) Ajax

  • 的Access-Control-Allow-Headers响应报头在响应用于一个预检请求指示哪个HTTP标头将通过提供Access-Control-Expose-Headers使实际的请求时。 的简单标头,Accept,Accept-Language,Content-Language,Content-Type(任一,但仅与一个MIME类型其解析值的(忽略参数)application/x-www-f

  • Access-Control-Allow-Credentials响应报头指示的请求的响应是否可以暴露于该页面。当true值返回时它可以被暴露。 凭证是 Cookie ,授权标头或 TLS 客户端证书。 当作为对预检请求的响应的一部分使用时,它指示是否可以使用凭证进行实际请求。请注意,简单的GET请求不是预检的,所以如果请求使用凭证的资源,如果此资源不与资源一起返回,浏览器将忽略该响应,并且不会返回

  • 问题内容: 在我的应用程序中,我将angularjs和cordova用于前端,将express和node js用于充当服务器的后端。我的客户端在http:// localhost:9000 上运行,但是我的express js在http:// localhost:3000上运行 。我需要从Express API获取数据。访问时,它说“ 为此,我需要添加。它是从另一个域访问一个域。如何在Expres