【发布时间】:2013-01-03 12:22:00
【问题描述】:
我无法通过以下错误从 XHR 获取 GET
XMLHttpRequest cannot load http://blog.rrikesh.com/demo/assets/img/img1.jpg. Origin
http://localhost:3000 is not allowed by Access-Control-Allow-Origin.
所以,我允许像这样的跨域访问:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :allow_cross_domain_access
def allow_cross_domain_access
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "GET, PUT, POST, DELETE"
end
end
但是,它发生了同样的错误。我能做什么?
【问题讨论】:
-
你考虑过 JSONP 吗? en.wikipedia.org/wiki/JSONP
-
你能显示你用来发出请求的 JavaScript 吗?可能是您的 JS 代码正在发送一些自定义标头。有时,以下内容会解决问题:
response.headers["Access-Control-Allow-Headers"] = "Content-Type" -
我正在使用这个 jQuery 库来访问 EXIF 数据。 nihilogic.dk/labs/exifjquery/jquery.exif.js
标签: ruby-on-rails xmlhttprequest cross-domain cors