Maison >développement back-end >Tutoriel Python >Comment résoudre les problèmes CORS dans les applications Flask : pourquoi les en-têtes « Access-Control-Allow-Origin » sont-ils nécessaires ?
Comment résoudre les problèmes CORS dans les applications Flask
Lors des requêtes cross-origin (CORS), il est courant de rencontrer des erreurs dues à des En-têtes « Access-Control-Allow-Origin ». Dans ce cas, la demande est rejetée car le serveur n'autorise pas explicitement les demandes provenant de l'origine du client.
Pour résoudre ce problème, vous pouvez activer CORS sur l'application Flask à l'aide du package 'flask-cors'. Voici comment procéder :
Installer flask-cors
<code class="bash">pip install -U flask-cors</code>
Importer le Flask- Module CORS
<code class="python">from flask_cors import CORS, cross_origin</code>
Configurer CORS
<code class="python">app = Flask(__name__) cors = CORS(app) app.config['CORS_HEADERS'] = 'Content-Type'</code>
Décorer les routes compatibles CORS
<code class="python">@app.route("/") @cross_origin() def helloWorld(): return "Hello, cross-origin-world!"</code>
Dans votre cas spécifique, vous pouvez modifier votre code comme suit :
Code Client :
<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>
Code du serveur :
<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>
Remarque : Assurez-vous de modifier l'option crossDomain sur false dans le code JavaScript pour empêcher les requêtes inter-domaines . Assurez-vous également que la configuration de votre serveur autorise les requêtes provenant de l'origine spécifiée (http://...).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!