2017-06-09 4 views
1

Laravelバックエンドにリクエストを送信しようとしましたが、「クロスオリジン要求がブロックされました:同じOriginポリシーではリモートリソースはhttp://localhost:8000/pathです(理由:CORSヘッダー 'CORSプリフライトチャンネルのアクセス制御許可ヘッダー'にトークン 'アクセス制御許可元'がありません)。Angular 2はリクエストを送信できますが、リモートリソースを読み取ることはできません

クライアントとサーバーの両方でAccess-Control-Allow-OriginとAccess-Control-Allow-Headersを追加しました。なぜエラーはまだ表示されますか?

答えて

1

リクエストでAccess-Control-Allow-Originを送信するために追加したクライアント側のコードを削除します。

(理由:はCORSプリフライトチャネルから「アクセス制御 - 許可 - ヘッダ」CORSヘッダーにトークン「アクセス制御許可原点」が欠落)」は示し

Iがアクセスを追加しました。 -control許起源と私のクライアントとサーバの両方でアクセス制御 - 許可 - ヘッダ。なぜエラーがまだあなたがクライアント - にAccess-Control-Allow-Originヘッダを追加したため、エラーが表示されている?

を示すんしかし、Access-Control-Allow-Originはサーバー応答ヘッダーです。だから、リクエストでクライアント側から送信すると、今見ている種類のエラーが表示されます。

「不足しているトークンのアクセス・コントロール・オリジン許可 "CORSヘッダ内の『アクセス制御 - 許可 - ヘッダ』」あるクライアントコードがAccess-Control-Allow-Originリクエストヘッダを送信していることを知らせるブラウザが、Access-Control-Allow-Headersをサーバーが返す応答ヘッダーは、要求で許可するヘッダー名の1つとして "Access-Control-Allow-Origin"をリストしません。

そのため、ブラウザはフロントエンドのJavaScriptコードでレスポンスを読み取らせません。

+0

以前のエラーの代わりに**理由:CORSヘッダー 'Access-Control-Allow-Origin'が**失われたことを示します。 – kherP

+0

'Access-Control-Allow- 'http:// localhost:8000/path'サーバ側の-Allow-Origin' – sideshowbarker

+0

私はそれを削除せず、Laravel Passportのルート" oauth/token "がcorsミドルウェアを呼び出さなかったということがわかりましたあなたの説明は私の混乱CORSをクリアしました。まだミドルウェアをPassport :: route()に追加する方法を考え出しています。私は試しました 'Route :: group(['middleware' => 'cors']、function(){Passport :: routes();}; ' しかし、ミドルウェアはまだ動作しません。 – kherP

関連する問題