axios CORS不工作-无访问控制-允许原点“标题

67up9zun  于 2023-01-20  发布在  iOS
关注(0)|答案(3)|浏览(169)

谢谢你看我的问题。我一直在构建我的flask应用程序,以帮助将一些python计算交付到我的React前端。我试图弥合两个不同服务器之间差距,但在使用CORS时遇到了麻烦(从外观上看沿着许多其他新使用flask with react的应用程序)
我试着改变很多东西,比如添加@cross_origin,origin:“”和header.add(“Access-Control-Allow-Origin”,“”),但没有成功。我需要从flask得到的只是我函数的结果。还有其他人遇到过类似的问题或知道我可以修复这个问题的方法吗?
培养瓶代码:

app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "*", "allow_headers": "*", "expose_headers": "*"}})`

@app.route('/')
@cross_origin()
def welcome():
    response = jsonify({'reply': 'Hello Webminers'})
    response.headers.add("Access-Control-Allow-Origin", "*")
    return response

React代码:

console.log(axios.get('http://127.0.0.1:5000'))

控制台:

Access to XMLHttpRequest at 'http://127.0.0.1:5000/' from origin 'http://localhost:3000' has been 
blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested 
resource.

Failed to load resource: net::ERR_FAILED

不知道这是否重要,但我也得到了相同的回应与“localhost:5000从起源localhost:3000”

  • 编辑:*
axios.get('http://127.0.0.1:5000', {headers: {"Access-Control-Allow-
Origin": "*"}}).then(response => {
        console.log(response.data);
    })

我添加了此内容,并从控制台获得了此新响应

Access to XMLHttpRequest at 'http://127.0.0.1:5000/' from origin 
'http://localhost:3000'has been blocked by CORS policy: Response to 
preflight request doesn't pass access control check: No 'Access-
Control-Allow-Origin' header
s5a0g9ez

s5a0g9ez1#

找到了!在并发库的帮助下,我把它修好了

"start": "concurrently \"react-scripts start\" 
\"flask --app Backend/FlaskAPI.py run\"",

是否为遇到相同问题的其他人使用了此配置

xeufq47z

xeufq47z2#

    • 一月一日**

你能试试下面的方法吗?

app = Flask(__name__)
CORS(app)

@app.route('/')
@cross_origin()
def welcome():
    response = jsonify({'reply': 'Hello Webminers'})
    return response

然后像这样访问api:

axios.get('http://127.0.0.1:5000').then(response => {
        console.log(response.data);
    })
qcuzuvrc

qcuzuvrc3#

我相信我发现了这个问题。我环顾四周,尝试了一堆不同的东西,甚至试图在FastAPI中重新创建API以达到相同的结果。
然而,我刚刚发现这条评论说,他们有一个问题,即React将运行,但留下了API,从而导致错误,无法从我的API获取数据。https://stackoverflow.com/a/58786845/19683392
我目前仍在寻找解决方案,可能会打开一个新的问题,但现在,我得到这个错误:

TypeError: NetworkError when attempting to fetch resource.

更多更新即将推出...

相关问题