javascript - 无法通过发布请求将授权令牌发送到烧瓶 api
问题描述
我正在使用烧瓶编写一个用python编写的API,但我在发送带有授权的发布请求时遇到了麻烦。我正在使用 axios 来提出请求。
我尝试了在此链接上找到的几乎所有内容 [使用 Flask 解决跨源资源共享]
from flask import Flask, request, jsonify
from flask_cors import CORS, cross_origin
app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "*"}})
@app.route("/test", methods=["POST","GET"])
# @cross_origin is commented for the get request
@cross_origin(methods=["POST"], allow_headers=['Content-
def test():
return jsonify({'success':True})
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
// change post to get
axios.post('http://localhost:5000/test', {
// withCredentials: true,
headers: {
'Access-Control-Allow-Headers': 'Authorization',
'Authorization': 'token'
}
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
当我使用 get 但不发布时,授权令牌出现在标题中
获取请求: https ://i.imgur.com/2COOjbj.png
发帖请求: https ://i.imgur.com/eWaFceS.png
编辑(已解决?)
不是真正的解决方案,但我切换到 fetch 并解决了我的问题,但我无法弄清楚它为什么会首先发生
解决方案
您只需更改*
with http://localhost:5000/test
,您应该允许访问特定域。
另一种方法是flask-cors
使用默认参数进行初始化:
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
推荐阅读
- kubernetes - Kafka 服务未在 Kubernetes 中运行
- c - 在没有标准库的情况下在 C 中将数字打印为字符串
- .net-core - 带有 nginx 代理的 RHEL8 上的 Dot Net Core Web api 返回 502 Bad Gateway
- flutter - 返回类型 'Set
' 不是“小部件”。颤振导航 - javascript - 我想在 next.js 中添加这种顺风样式(active:border-b-2 active:border-blue-500)但这不起作用
- .net - .net Core 5 的 SelectPdf 中的图像和默认背景颜色不显示
- typescript - 为什么映射类型不能使用通用但有限的键完全解析查找?
- networking - 配置我的小型办公网络 (LAN) 的正确方法是什么
- postgresql - 如何在同一台 Windows 机器上安装 odoo community v14 & v15?
- stata - 包含不同比率的Stata统计摘要