【发布时间】:2022-01-26 00:44:24
【问题描述】:
我在让我的烧瓶后端向我的 REACT js 前端发送响应时遇到问题。以下是在 REACT js 前端中使用的代码创建一个发送字符串“消息”的发布请求。然后烧瓶后端应该将字符串发回,并且将创建一个显示字符串的控制台日志。
反应 JS
const response2 = await fetch(`${process.env.REACT_APP_TEST}`,{
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify('message'),
}
)
console.log('The response was....', response2)
烧瓶
@app.route("/", methods=['GET', 'POST'])
@cross_origin(supports_credentials=True)
def index():
print('Running')
print
sent_data = request.get_json()
print(sent_data)
if sent_data != 'message':
return ({"hello": ['no']})
else:
return (sent_data)
在后端获取数据并打印“消息”,以便信息到达烧瓶。 问题是我没有收到在 React js 控制台中记录的字符串“消息”...
The response was.. {type: "cors", url: "http://127.0.0.1:5000/", redirected: false, status: 200, ok: true, statusText: "OK", headers: Headers, body: ReadableStream, bodyUsed: false}
如果有任何不清楚的地方,请告诉我并感谢您的帮助,谢谢!
-
我认为你使用
fetch
的方式是扭曲的。它不会从服务器返回response
,而只会返回它发送数据的信息——对象Promise
。您应该使用fetch().then(...)
或requests = await fetch()
和requests.then(...)
就像在文档中一样 Using_Fetch -
您可能需要使用
return jsonify(send_data)
并在反应response2 = response2.then(resp => resp.json())
-
@furas 解决了问题,谢谢!