2017-05-18 6 views
1

このURLでアクセスできるdjango-rest-frameworkで安らかなAPIを作成しましたが、APIを呼び出すためのReactアプリケーションを作成しています。CORSエラーが発生しました.REST APIを使って呼び出しました。

取得APIがhttp://192.168.33.10:8002/scenarios/をロードすることはできません私は私のアプリを実行すると、API

componentWillMount: function(){ 
this.setState({Problemstyle: this.props.Problemstyle}) 
fetch('http://192.168.33.10:8002/scenarios/') 
.then(result=>result.json()) 
.then(result=> { 
    this.steState({items:result}) 
}) 
}, 

に呼び出しを行うためにフェッチ使用してい

は、私は私のブラウザにエラーが発生します。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。 Origin 'http://192.168.33.10:8001'はアクセスできません。不透明な応答が必要な場合は、要求のモードを「no-cors」に設定して、CORSを無効にしてリソースをフェッチします。

私はちょうど使用し始めているように私はこの問題を解決する方法についてはよく分からないがインストールアプリのcorsheadersに追加し、その後pip install django-cors-headers

を通じてジャンゴ-corsheadersをインストール

+1

http://192.168.33.10:8002/scenarios/ニーズのあなたのジャンゴ - 静止フレームワークアプリAccess-Control-Allow-Origin応答ヘッダーを送信するように設定されます。現在、レスポンスヘッダーが返されていないため、ブラウザはフロントエンドのJavaScriptコードでレスポンスにアクセスできません。だからおそらくhttp://192.168.33.10:8002/scenarios/サーバー – sideshowbarker

答えて

3

に反応します'

設定を追加

CORS_ORIGIN_ALLOW_ALL = True 

と、

ALLOWED_HOSTS = ['*'] 

これはトリックを行う必要があります。あなたはまた、ミドルウェアに追加する必要があります

UPDATE

MIDDLEWARE = [ # Or MIDDLEWARE_CLASSES on Django < 1.10 
    ... 
    'corsheaders.middleware.CorsMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    ... 
] 
+0

にhttps://github.com/ottoyiu/django-cors-headers/をインストールしたいと思う。これは昨日仕事をした。今日、私がもう一度やってみると、うまくいきません。任意の提案 –

+0

エラーはまだ同じですか??設定が正しく配信されていることを確認し、上書きされていないことを確認します。 – zaidfazil

+0

jsでも何かする必要がありますか?私は斧を使用しています。 –

関連する問題