我有一个react应用程序,它向flask后端发出post请求。post请求旨在更改数据库中的某些数据并返回计算值。除了反应之外,所有的东西似乎都在烧瓶的一边起作用。我从烧瓶里得到的反应是:
Response { type: "cors",
url: "http://127.0.0.1:3122/update",
redirected: false,
status: 200, ok: true, statusText: "OK", headers: Headers, bodyUsed: false }
我不知道我做错了什么。在我的flask代码中,我使用
@app.after_request
response.headers.add('Access-Control-Allow-Origin', '*')
response.headers.add('Access-Control-Allow-Headers', 'Content-Type,text/plain')
response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
还有
flask_cors
从客户端允许CORS的包。
app = Flask(__name__)
app.config['DEBUG'] = True
api = CORS(app, resources={r"/*": {"origins": "*"}})
我也试过设置
mimetype
在我的回应中
text/plain
因此不会调用飞行前请求。
resp = Response(response=calculation_json,
status=200,
mimetype='text/plain')
请求后代码为:
(async () => {
const rawResponse = await
fetch(url, {
method: 'POST',
headers: {
'Accept': 'text/plain',
'Content-Type': 'text/plain'
},
body: jsonData
});
const response = await rawResponse;
if (response.status >= 200 && response.status < 300) {
console.log(response);
return Promise.resolve(response)
} else {
this.props.form.resetFields();
return Promise.reject(new Error(response.statusText))
}