React、Node.js、Socket.ioを使用してアプリを作成しました
Node バックエンドを heroku にデプロイし、フロントエンドを Netlify
にデプロイしました。CORS エラーがサーバーに関連していることはわかっていますが、何を追加しても、下の図のエラーは解決されません。
また、React の package.json に「proxy」としてプロキシ スクリプトを追加しました:「https://googledocs-clone-sbayrak.herokuapp.com/」
これは私の server.js
ファイルです;
ここでフロントエンドにリクエストを行います;
リーリーP粉6748763852023-12-15 10:51:51
https://googledocs-clone-sbayrak.netlify.app/
は origin ではありません。末尾のスラッシュを削除します。
Origin
ヘッダー値では末尾のスラッシュは使用できません CORS プロトコル (Fetch 標準 で指定) によると、 ブラウザは Origin
リクエスト ヘッダーを末尾にスラッシュのある値に設定することはありません 。したがって、https://googledocs-clone-sbayrak.netlify.app/whatever
のページがクロスオリジン リクエストを行う場合、リクエストの Origin
ヘッダーには p> が含まれます。
リーリー
末尾のスラッシュなし。
Socket.IO を使用していますが、これは node.js cors パッケージ に依存します。リクエストの送信元が CORS 構成の
origin 値 (https://googledocs-clone-sbayrak.netlify.app/
) と一致する場合。
それらをまとめます
と評価されるため、
cors パッケージは応答に Access-Control-Allow-Origin
ヘッダーを設定せず、ブラウザーがCORS チェックが失敗したため、CORS エラーが発生しました。
標準的な例を取得する
Fetch 標準のセクション 3.2.5 には、