我有Flask Python API,cors设置如下。当从浏览器调用时,它可以正常工作。但是从Angular应用程序调用时出现CORS错误,该应用程序当前正在从localhost:4200测试。
来自Chrome开发人员工具-可以看到请求方法=选项的预检请求(预检请求(返回200,但实际请求抛出CORS错误。不确定我在这里做错了什么。请分享见解。
仅供参考-尝试了一些调整,比如让"允许原产地"*&",移除";supports_credentials=True";;仍然相同的CORS错误
错误:
Error:
Access to XMLHttpRequest at 'https://app01.dev.com/coreengine?rootfolder=app01&childfolder=jun2020&team=app01&action=customhierarchy' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
代码:
from flask_cors import CORS
mainapp = Flask(__name__)
cors = CORS(mainapp, resources={r"/*": {"origins":["http://localhost:4200"]}},supports_credentials=True)
@mainapp.route('/coreengine', methods=['GET','POST'])
def coreengine():
{
#Code
}
在与package.json文件并行的应用程序根目录下,创建一个新文件proxy.config.json
{
"/coreengine*": {
"target":"https://app01.dev.manulife.com",
"secure":true,
"logLevel":"debug"
}
}
现在,在脚本中的package.json中:{},添加以下文件名为proxy.config.json的亚麻来启动">
{
"scripts": {
"start":"ng serve --proxy-config proxy.config.json",
"test":"ng test"
}
}
希望这对你有用。