问题标签 [rack-cors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
554 浏览

jquery - rack-cors gem 更改接受从 json 到 html 的标头

我有一个 Rails 3 应用程序。在 API 开发过程中,由于CORS,我遇到了一些意外OPTIONS请求的麻烦。所以我决定使用rack-cors gem。

config/initializers/cors.rb

我使用以下 jQuery 代码发送 AJAX 请求:

它在使用之前运行良好rack-cors(在localhost <-> localhost场景中)。但是安装后rack-cors500 error在日志中发现并发现了该行:

Rails 似乎忽略了json内容类型要求。我应该怎么做才能解决这个问题?

请求标头:

响应标头:

0 投票
1 回答
536 浏览

ruby-on-rails - rails、rack-cors、nginx、angualrjs 和 cors

仍然收到“Access-Control-Allow-Origin 不允许 Origin MYSITE.com”。错误。

在我的控制器中,我有

在我的 config/application.rb

在我的 routes.rb 我有

在我的 nginx > sites-enabled > MYSITE.con

0 投票
1 回答
3276 浏览

ruby-on-rails - 使用 Rack-cors 和 Grape 添加自定义响应标头

我正在使用 Ruby on Rails API 开发 Ionic(Cordova) 应用程序。我想在登录后使用响应标头返回一个令牌。我正在使用rack-corsgem 使 Cross Origin Request 工作:

应用程序.rb

和葡萄宝石来管理我的 API 路线。但是自从我添加了rack-cors.

我试过这个:

但它不起作用。无论我做什么,我都会得到这些标题:

{缓存控制:“max-age=0,私有,必须重新验证”,内容类型:“应用程序/json”}

谁能帮我解决这个问题?

0 投票
1 回答
2128 浏览

ruby-on-rails - Rails 跨域 ajax 获取请求 (CORS)

我正在尝试在我的 rails 应用程序中实现 google places api。

这是我在尝试使用从 ajax 请求中获取数据的函数时遇到的错误:

我正在使用 rack-cors gem,并将此代码段添加到我的 config/application.rb 文件中:

这是我认为的 ajax 请求(coffeescript):

我已将此部分添加到我的 application_controller

这个,到我的路线文件

我注意到“cors_preflight_check”方法不是由我的请求触发的。(当我单击视图中的某个链接时,我会发出 AJAX 请求)

而且我注意到我的请求标头保持不变。

(Access-Control-Allow-Origin 未添加到请求标头中)

jsonp 不是一个选项,因为 places api 不支持它

尝试了在这些线程中编写的所有内容:

0 投票
1 回答
547 浏览

angularjs - 如何摆脱被阻止的跨域请求:在rails 4中

你能告诉我哪里出了问题吗?有什么遗漏的东西我必须添加才能从heroku网站获取json

配置.ru

配置/应用程序.rb

我的控制器看起来像这样,下面有一些助手

Angularjs 部分:

0 投票
1 回答
1233 浏览

ruby-on-rails - 从 Rails 5 执行 HTTP OPTIONS 请求以进行 CORS 飞行前或其他

编辑:我在 Rails 的拉取请求中重新添加了 options 方法,现在应该可以使用了。下面的答案应该不再需要了。调用process(:options, path, **args)以执行选项请求。

如果需要,请参阅提交 1f979184efc27e73f42c5d86c7f19437c6719612 了解更多信息。

我已经阅读了其他答案,但它们似乎都不适用于 Rails 5。令人惊讶的是,Rails 不仅提供了选项方法,而且我们在这里。当然,如果您可以使用 xdomain,您可能应该(编辑:我不再持有这种观点,CORS 有优势)因为它更快(没有预检检查加倍延迟!),更容易(不需要愚蠢的标头/HTTP 方法!),并且得到更多支持(基本上在任何地方都可以使用!),但有时您只需要支持 CORS,而有关 CORS gem 的某些内容使其不适用于您。

0 投票
1 回答
1832 浏览

ruby-on-rails - 无效的请求参数:将文件上传到仅 Rails api 服务器时的 %-encoding 无效

我正在开发Reactjs用作前端和Rails5 api only应用程序作为后端的Web 应用程序

这是我发送到服务器的数据Request payload

这是我的控制器

因此,当我尝试将图像上传到 Rails 服务器时,出现此错误

** 我使用 Rack::CorsandRack::Attack作为我的中间件

我怎样才能解决这个问题?

谢谢!

0 投票
0 回答
1383 浏览

javascript - Fetch API 无法加载,重定向失败。只在谷歌浏览器上?

我的网站reactjs用作前端并Ruby on Rails 5 api only app用作后端(存储在不同的主机上)

所以我的前端正在运行https://xxxx.com并发送请求以https://api.xxxx.com从服务中获取数据。

但是当我在谷歌浏览器上打开我的网站时,我得到了这个回复

但是即使这样,某些请求也可以使用正确的数据。

然后我试着打开它FirefoxSafari它们工作得很好,不像谷歌浏览器。

这是我的 application.rb 文件

那么我怎样才能让它在谷歌浏览器上运行呢?

谢谢!

0 投票
2 回答
5339 浏览

ruby-on-rails - ruby on rails - rack-cors 具有不同资源的多个来源

我正在使用 rack-cors gem 在我的 rails 应用程序中实现 CORS,但我不确定如何为不同的来源定义不同的资源。

我需要这样的东西:

因此它将允许“ http://localhost:3000 ”仅访问“/api/*”并允许“ http://localhost:6000 ”访问所有。可能吗?

上面的代码是正确的代码/语法吗?

谢谢。

0 投票
1 回答
904 浏览

ruby-on-rails - Rack:cors gem 没有为 GET 请求设置 cors 标头

我正在尝试使用 Rack-cors gem 来启用 cors。问题是对于非获取请求,标头即将到来,对于 GET 请求,标头不存在。

application.rb

知道这里有什么问题吗?