我是一个非常新的反应者,我正试图掌握如何正确使用提取。我有这个蟒蛇瓶路线,我正试图从后端打这条路线:
@app.route('/api/v1', methods=['POST'])
def postTest():
if not request.json:
return "not a json post"
return "json post succeeded"
现在,当我与邮递员达到这一点时,我实际上能够获得成功的消息。
这是我的reactjs提取的样子:
returnFlaskPost() {
return fetch( 'http://localhost:5000/api/v1', {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: 'POST',
body: {
'user1':'1234'
}
});
}
每当我运行应用程序并尝试向控制台读取此功能时,我得到的结果是:
有人可以向我解释我做错了什么,我该怎么做才能解决。我将不胜感激。
答案 0 :(得分:2)
这是跨源资源共享的问题。在这种情况下,您将尝试通过不同的URL访问API终结点,因为API本身已投放。顺便说一句,127.0.0.1:3000和127.0.0.1:5000被视为两个不同的URL,因此会导致您所引用的错误。因此,要解决此问题,您需要执行以下步骤:
安装Flask-CORS:
pip install flask-cors
将此代码包含在Flask应用程序中(可能是__init __。py):
from flask_cors import CORS
CORS(app)
就是这样!