2016-10-29 4 views
0

私はバックエンドAPIをRailsに持っています。私はcurlとPythonでデータを要求することができます。私は、ブラウザで次のエラーを取得する要求のためjQueryを使用しようとするとRails APIバックエンドに 'Access-Control-Allow-Origin'ヘッダーがありません

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' 
    } 

しかし、私はまだ同じエラーを取得しています。私は何が欠けていますか? 、

curl -i -H "Accept: application/vnd.api+json" "https://app.herokuapp.com/retentions?filter%5Bshop_token% 

5D = ABC123"

使用して、レール

答えて

-1

4私はヶ月前にこの同じ問題を持っていたし、ブログ記事をたくさん読んだ後:

FWIWは、これは私のcurlコマンドです私はそれを解決しました...

これは、ブラウザからjqueryを使用して別のサーバー上のapiトークンを要求しているようですあなたはそれをクライアントに渡し、次にあなたが望むものを何でもすることができます、これはトリックを行うべきです。

このCORSについて私が理解していることは、ブラウザからサーバーへの操作はできません。サーバー(ドメイン)からサーバー(アクセスしているAPI)に行う必要があります。

希望すると便利です。

関連する問題