Comment résoudre les problèmes CORS dans les applications Flask : pourquoi les en-têtes « Access-Control-Allow-Origin » sont-ils nécessaires ?

Barbara Streisand
Libérer: 2024-10-31 01:42:01
original
865 Les gens l'ont consulté

How to  Solve CORS Issues in Flask Applications: Why

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 :

  1. Installer flask-cors

    <code class="bash">pip install -U flask-cors</code>
    Copier après la connexion
  2. Importer le Flask- Module CORS

    <code class="python">from flask_cors import CORS, cross_origin</code>
    Copier après la connexion
  3. Configurer CORS

    <code class="python">app = Flask(__name__)
    cors = CORS(app)
    app.config['CORS_HEADERS'] = 'Content-Type'</code>
    Copier après la connexion
  4. Décorer les routes compatibles CORS

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

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&amp;email=3&amp;phone=3&amp;description=3",
  crossDomain: false,
  success: function(msg) {
      alert(msg);
  }
});</code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!