2017-12-09 13 views
0

私はCORS要求を行い、サーバーは、プリフライトOPTIONS要求のためのこのようなヘッダーセットを返しました。CORSプリフライトリターンアクセス制御 - 許可 - オリジンが応答をハングアップ

Access-Control-Allow-Headers:authorization 
Access-Control-Allow-Methods:POST, OPTIONS 
Access-Control-Allow-Origin:* 
Connection:Keep-Alive 
Content-Length:0 
Content-Type:application/json 
Date:Sat, 09 Dec 2017 21:02:47 GMT 
Keep-Alive:timeout=5, max=100 
Server:Apache 

そしてまた次のPOST要求が正常に実行されましたが、私はまだ、コンソールにエラーを取得しています。

No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'bla-bla-bla.com' is therefore not allowed access. 

If an opaque response serves your needs, 
set the request's mode to 'no-cors' to fetch the resource with CORS disabled. 

またはPOST応答はまた、私のヘッダーアクセス制御 - 許可 - の起源を送信する必要がありますか:*?

CORSを実行するためにクライアント側から何か別の処理を行う必要がありますか?ありがとう:)

答えて

2

プリフライトと実際の応答の両方がAccess-Control-Allow-Originの許可を与える必要があります。

のみPRELIGHTが、その後、イベントの順序がない場合:

  1. JavaScriptが要求
  2. ブラウザは、プリフライトリクエスト
  3. Serverは、ブラウザがCORS(パスをチェックし
  4. プリフライト応答を送信します行うよう要求します)
  5. ブラウザが実際のリクエストを作成します
  6. サーバーが実際の応答を送信します
  7. ブラウザがCORS(失敗)
  8. ブラウザはJS
への応答の読み取り権限を拒否チェックします
関連する問題