最近开发了一个用VSCode写了一个简单的订单页面,并使用fetch
框架调用订单接口实展示用户的订单信息,服务端用Python的 Flask
框架实现的。但是在HTML5中调试接口时,发生了一下错误No 'Access-Control-Allow-Origin' header is present on the requested resource.
的错误,详细错误信息截图如下:
⚠️ 警告 :
使用以下方案增加Access-Control-Allow-Origin: *
会使你的接口/网站有受到cross-site request forgery (CSRF)网络攻击的风险,使用以下代码前请确认您已经了解(CSRF网络攻击的风险。
解决方案:
1. 使用的是flask
网络框架,
- 首先需要安装
flask-cors
:
pip install -U flask-cors
如果Python 3中使用的是
pip3
命令,安装命令为:pip3 install -U flask-cors
- 第二步是将
flask-cors
框架导入到application
中:
from flask_cors import CORS app = Flask(__name__) CORS(app)
- 最终效果如下:
from flask import Flask from flask_cors import CORS app = Flask(__name__) CORS(app) @app.route("/") def helloWorld(): return "Hello, cross-origin-world!"
2. 使用PHP框架
- 在处理这个请求的页面的开始位置加入一下代码:
<?php header('Access-Control-Allow-Origin: *'); ?>
3. 其他框架的页面方案请参考以下链接:
如果这个方案解决了您的问题,别忘了点赞♥️,让其他同学也知道这个正确的方法。
网友评论