バックエンドでは golang と gin-gonic/gin Web フレームワークを使用し、フロントエンドでは React axios を使用しています。 2 日間解決しようとしてきましたが、依然として以下の同じエラーが発生します:
リーリーこのエラーは、パッチ リクエストを送信しようとした場合にのみ発生します。そのため、そのリクエストにはプリフライト オプション リクエストが必要ですが、get と post はすべて期待どおりに機能し、プリフライト チェックは実行されません。
これは私のルーター構成のコードです:
リーリーこれはフロントエンドです:
リーリーバックエンドが正しく設定されていると確信しており、必要なヘッダーがすべて返されるはずです。
たとえば、get リクエストの場合、応答ヘッダーは次のようになります:
リーリーパッチ要求の試行に対しては応答がありませんが (当然のことですが)、プリフライト応答ヘッダーは次のとおりです:
リーリー考えられる問題について何か提案はありますか?この二日経っても何も分かりません。よろしくお願いします!
タイトルも追加してみました:
リーリー...もう一度 if ステートメントで:
リーリーしかし、これはまったく役に立ちません。実際、この if ステートメントはプリフライトの実行時に実行されないため、サーバーがオプション要求を実行していることがコンソールからわかります。
リーリー ###編集:###これはパッチリクエストを送信するcurlコマンドです(つまり、実際にはこれはプリフライトオプションリクエストです):
リーリーこのリクエストに対する応答:
cors policy: response to preflight request doesn't pass access control check: no 'access-control-allow-origin' header is present on the requested resource.正解
を使用していることがわかりました。代わりに github.com/gin-contrib/cors
を使用する必要があります。 github.com/gin-contrib/cors
を使用したデモ構成は次のとおりです:
リーリー
withcredentials
patch リクエスト ヘッダーに「cookie」ヘッダーがありません。
リーリー
ここで
{ withcredentials: true }
リーリー
以上がCORS ポリシー: プリフライト要求への応答がアクセス制御チェックに失敗しました: 'Access-Control-Allow-Origin' がありませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。