0

上の elm-reactor 経由で elm フロントエンドを実行していlocalhost:8000ます。これは、 gunicorn on を介して実行されているファルコン バックエンドから json ファイルをロードすることになっていますlocalhost:8010。これは失敗します。

フロントエンドは elm-reactor ( :8000) によって提供される静的ダミー ファイルをロードできますが、ダミーを実際のバックエンド ( ) に置き換えようとすると:8010、ヘッダーがないために失敗します。

Cross-Origin Request Blocked: Same Origin Policy により、http://localhost:8010/api/sheetsでのリモート リソースの読み取りが許可されません。(理由: CORS ヘッダー 'Access-Control-Allow-Origin' がありません)。

Firefox Inspector からのエラー メッセージはかなり明確に見えますが、それを修正する方法がわかりません。Falcon に CORS ミドルウェアを既にインストールしましたが、状況はまったく改善されませんでした。

from falcon_cors import CORS
cors = CORS(allow_origins_list=['*'])
api = falcon.API(middleware=[cors.middleware])

私も起源を使用しようとしまし'localhost:8000''localhost'が、どちらも機能しません。

これを修正する方法はありますか?

4

2 に答える 2

1

これを試して。うまくいけば、これで問題が解決します。

import falcon
from falcon_cors import CORS
cors = CORS(allow_origins_list=['http://localhost:8080', 'http://localhost:8000', 'http://localhost:8010'], allow_all_headers=True, allow_methods_list=['GET', 'POST', 'OPTIONS'])
api = falcon.API(middleware=[cors.middleware])
于 2017-01-16T13:10:35.283 に答える
0

falcon_cors がallow_all_origins=Trueパラメーターとして提供していることがわかりました。これで問題は解決しましたが、完全な解決策ではありません。

POST リクエストを使用する場合も同様allow_all_methods=Trueに設定する必要があります。

于 2016-09-17T12:15:56.933 に答える