【问题标题】:No 'Access-Control-Allow-Origin' header is present on the requested resource - Rails 4.2请求的资源上没有“Access-Control-Allow-Origin”标头 - Rails 4.2
【发布时间】:2015-10-30 06:28:36
【问题描述】:

我正在尝试集成 omniauth google oath,虽然我可以通过 google plus 登录或创建新用户,但我在单击登录时收到此消息,然后在请求结束时消失。

XMLHttpRequest cannot load https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=924…scope=email+profile&state=7569c82117b4114fa45f63db7a7fe80f2c42232524224f2c.


No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:3000' is therefore not allowed access.

此外,在本地主机上,我可以使用 google plus 创建或登录,尽管出现错误它在 heroku 上不起作用

我搜索了很多,但即使我在 application.rb 文件中添加了如下代码

headers['Access-Control-Allow-Origin'] = 'http://localhost:3000'

我似乎仍然无法正确

【问题讨论】:

  • 这个问题在别处得到解答:stackoverflow.com/questions/20035101/…
  • 我说的是 Rails 而不是 javascript。我没有编写任何 javascript 代码。
  • 你从哪里得到这条消息,具体来说?您的浏览器控制台,Rails 日志文件?
  • 在控制台中,刷新后消失。显然有一个 ajax 请求,但请注意我使用的是omniauth google oauth2 gem。我没有添加任何javascript。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 heroku


【解决方案1】:

拥有访问控制允许组织。你可以通过下面的这个链接 https://github.com/cyu/rack-cors

只需要 gem install rack-cors

然后按照 github 链接中的文档进行配置。 这可能会帮助您解决问题

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 2023-03-16
    • 2014-07-30
    • 2016-01-14
    • 2023-03-15
    • 2018-12-02
    • 2019-10-07
    • 2021-09-28
    • 2021-02-23
    相关资源
    最近更新 更多