ホームページ  >  記事  >  バックエンド開発  >  Flask アプリケーションの CORS 問題を解決する方法: なぜ「Access-Control-Allow-Origin」ヘッダーが必要なのでしょうか?

Flask アプリケーションの CORS 問題を解決する方法: なぜ「Access-Control-Allow-Origin」ヘッダーが必要なのでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 01:42:01852ブラウズ

How to  Solve CORS Issues in Flask Applications: Why

Flask アプリケーションで CORS の問題を解決する方法

クロスオリジン (CORS) リクエストを行う場合、欠落によるエラーが発生するのが一般的です。 「Access-Control-Allow-Origin」ヘッダー。この場合、サーバーがクライアントのオリジンからのリクエストを明示的に許可していないため、リクエストは拒否されています。

この問題を解決するには、「flask-cors」パッケージを使用して Flask アプリケーションで CORS を有効にします。方法は次のとおりです:

  1. flask-cors をインストールします

    <code class="bash">pip install -U flask-cors</code>
  2. Flask をインポートします- CORS モジュール

    <code class="python">from flask_cors import CORS, cross_origin</code>
  3. CORS の構成

    <code class="python">app = Flask(__name__)
    cors = CORS(app)
    app.config['CORS_HEADERS'] = 'Content-Type'</code>
  4. CORS 有効ルートの装飾

    <code class="python">@app.route("/")
    @cross_origin()
    def helloWorld():
      return "Hello, cross-origin-world!"</code>

特定のケースでは、次のようにコードを変更できます:

クライアント コード:

<code class="javascript">// Only change the crossDomain option to false
$.ajax({
  type: 'POST',
  url: 'http://...',
  data: "name=3&amp;email=3&amp;phone=3&amp;description=3",
  crossDomain: false,
  success: function(msg) {
      alert(msg);
  }
});</code>

サーバー コード:

<code class="python">from flask import Flask, request
from flask.ext.mandrill import Mandrill
from flask_cors import CORS

app = Flask(__name__)
cors = CORS(app)</code>

注: クロスドメイン リクエストを防ぐために、JavaScript コードで CrossDomain オプションを false に変更してください。 。また、サーバー設定で指定されたオリジン (http://...) からのリクエストが許可されていることを確認してください。

以上がFlask アプリケーションの CORS 問題を解決する方法: なぜ「Access-Control-Allow-Origin」ヘッダーが必要なのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。