Heim > Artikel > Backend-Entwicklung > So lösen Sie CORS-Probleme in Flask-Anwendungen: Warum sind „Access-Control-Allow-Origin“-Header notwendig?
So lösen Sie CORS-Probleme in Flask-Anwendungen
Beim Erstellen von Cross-Origin-Anfragen (CORS) kommt es häufig zu Fehlern aufgrund fehlender Daten „Access-Control-Allow-Origin“-Header. In diesem Fall wird die Anfrage abgelehnt, weil der Server Anfragen vom Ursprung des Clients nicht explizit zulässt.
Um dieses Problem zu beheben, können Sie CORS in der Flask-Anwendung mithilfe des Pakets „flask-cors“ aktivieren. So geht's:
Flask-Cors installieren
<code class="bash">pip install -U flask-cors</code>
Importieren Sie den Flask- CORS-Modul
<code class="python">from flask_cors import CORS, cross_origin</code>
CORS konfigurieren
<code class="python">app = Flask(__name__) cors = CORS(app) app.config['CORS_HEADERS'] = 'Content-Type'</code>
CORS-fähige Routen dekorieren
<code class="python">@app.route("/") @cross_origin() def helloWorld(): return "Hello, cross-origin-world!"</code>
In Ihrem speziellen Fall können Sie Ihren Code wie folgt ändern:
Kundencode:
<code class="javascript">// Only change the crossDomain option to false $.ajax({ type: 'POST', url: 'http://...', data: "name=3&email=3&phone=3&description=3", crossDomain: false, success: function(msg) { alert(msg); } });</code>
Servercode:
<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>
Hinweis: Stellen Sie sicher, dass Sie die Option „crossDomain“ im JavaScript-Code auf „false“ ändern, um domänenübergreifende Anfragen zu verhindern . Stellen Sie außerdem sicher, dass Ihre Serverkonfiguration Anfragen vom angegebenen Ursprung (http://...) zulässt.
Das obige ist der detaillierte Inhalt vonSo lösen Sie CORS-Probleme in Flask-Anwendungen: Warum sind „Access-Control-Allow-Origin“-Header notwendig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!