のリクエスト問題まあ、webpack
とcreate-react-app
にバンドルされてアプリを展開しようとしているイム、ここでは理論は単純です:CORSと同一生成元ポリシー反応バンドルアプリ
イムいくつかの環境変数を使用しますが、中の一言で、http://theapp.app.com/api/v3/endpoint
のようなURLを使用しています。
のモードでは、URLはhttp://localhost/api/v3/endpoint
であり、ユニークな変更があります。
とにかく、私はfetch
APIを使ってリクエストしていますが、私はフェッチ設定のmode
で遊んでいます。 development
については、サーバはローカルマシンにはないので、それはmode: 'cors'
であり、完全に動作します。 production
フラグの場合
、iはmode: 'same-origin'
とcors
と試みたが、私は、それぞれ順に、この2つのエラーを取得:
前にいくつかのaclarations:
- はい、APIアプリとバンドルは、同じサーバ/マシンによって提供されています。はい、私は要求元のURLの
same-origin
方針に等しくないことを知っているが、cors
で@app.hook('after_request') def enable_cors(): response.headers['Access-Control-Allow-Origin'] = '*' response.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept' response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
- :
うん、私たちは、サーバー上で構成CORSを(私たちはPythonのボトルを使用している)持っていますそれも爆発的に有効になり、
http://data.blabla
は直接サーバーからのURLです....私はちょうど何をすべきか分かりません。
私(悲しいことに)には時間がありました。
'要求モードは「同じ起源」ですが...' - なぜ要求が実際にクロスオリジンであるのかというと、要求モードは同じ起源なのですか?なぜ、 'localhost'を使って" production mode "ですか?アプリにウェブサーバーが含まれていますか? –
さて、私は、「同じ原点」(最初の画像)と「クロスオリジン」(2番目の画像)で試してみたと言いました。 – Nano
申し訳ありませんでしたので、このシナリオでは*この* "localhost"は何ですか?あなたは "app"と言いますので、 "localhost"から期待しているものは混乱しています –