![](/img/trans.png)
[英]Zillow API Error:“No 'Access-Control-Allow-Origin' header is present”
[英]No 'Access-Control-Allow-Origin' header is present in Rails API backend
我在Rails中有一个jsonapi-resources
后端api。 我可以使用curl
和Python来请求数据。
当我尝试使用jQuery
进行请求时,在浏览器中出现以下错误:
XMLHttpRequest无法加载https://shop-api-3.herokuapp.com/customers?filter%5Bshop_token%5D=9e3c9769b752436ddbd27597cf946a36 。 对预检请求的响应未通过访问控制检查:请求的资源上不存在“ Access-Control-Allow-Origin”标头。 因此,不允许访问原始“空”。 响应的HTTP状态码为404。
所以我将其添加到config/environments/production.rb
:
config.action_dispatch.default_headers = {
'Access-Control-Allow-Headers' => 'Origin, X-Requested-With, Content-Type, Accept, Authorization',
'Access-Control-Allow-Origin' => '*',
'Access-Control-Request-Method' => '*',
'X-Frame-Options' => 'ALLOWALL'
}
但是,我仍然遇到相同的错误。 我想念什么?
FWIW,这是我的curl
命令:
curl -i -H "Accept: application/vnd.api+json" "https://app.herokuapp.com/retentions?filter%5Bshop_token%
5D = ABC123“
使用Rails 4
一个月前我也遇到过同样的问题,在阅读了许多博客文章后,我通过...解决了这个问题
因此,似乎您是在使用jquery(从浏览器)在另一台服务器上请求api令牌,而不是这样做,从您的服务器上请求它,然后将其传递给客户端,然后您就可以做任何您想做的事情,这应该可以解决问题。
我对CORS的理解是,您无法将浏览器执行到服务器,而必须从服务器(您的域)到服务器(您正在访问的api)执行。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.