ruby-on-rails - Rails、REST 架构和 HTML 5 : Cross domain requests with pre-flight requests

标签 ruby-on-rails rest html cross-domain cors

在致力于使我们的网站对 HTML 5 友好的项目时,我们渴望接受跨域请求的新方法(不再通过隐藏的 iframe 发帖!!!)。使用 Access Control我们开始设置一些测试来验证各种浏览器的行为。

当前的 Rails RESTful 架构依赖于四个 HTTP 动词:GET、POST、PUT、DELETE。但是在访问控制规范中,它规定非简单方法(PUT、DELETE)需要使用 HTTP 动词 OPTIONS 的飞行前请求。此外,在测试期间,我们还发现 Firefox 3.5.8 的飞行前 POST 请求。

我的问题是这样的。有没有人知道 Rails 框架的任何项目都在努力解决这个问题?如果不是,关于支持 OPTIONS 方法的最佳策略有什么意见,因为它必须支持所有 POST、PUT、DELETE 方法的路由?

最佳答案

几天前我发布了一个通过机架中间件实现 CORS 支持的 Gem:

http://github.com/cyu/rack-cors

关于预检 CORS 请求,我无法让预检请求在 Chrome 中工作(通过简单的 CORS 请求工作正常)。在 Internet 上搜索表明它可能不受支持。我已在 Chrome 论坛中就此提出问题,但尚未收到回复。

关于ruby-on-rails - Rails、REST 架构和 HTML 5 : Cross domain requests with pre-flight requests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2858741/

相关文章:

ruby-on-rails - Ruby:如何有效地对两个哈希数组执行 "left join"

java - 带有请求响应 JSON 的 JD Edwards REST API

javascript - 在nodejs中提取表单数据

javascript - 数组和迭代 JS 和 HTML

javascript - 无法将文本分配给在 javascript 中新创建的页面中的 div

ruby-on-rails - Ruby on Rails 服务器错误

ruby-on-rails - 这可能在 Controller 测试中吗?

rest - Apache CXF 中内置 HTTP 服务器

ruby-on-rails - 使用 better_errors 作为调试器?

java - 泽西网络服务返回 HTTP 500