【发布时间】:2021-01-13 03:32:51
【问题描述】:
我一直在尝试发出 http PUT 请求以向服务器发送数据。每次,当我尝试发送请求时,服务器中的数据都会变为空。我已经通过发送正确格式的数据来测试服务器端代码,似乎服务器端工作正常。回到客户端代码,我注意到在获取操作期间,响应中的数据变为“ReadableStream”。不知道实际上是什么意思。如果可以从以下信息中找到错误,任何人都可以帮我找出错误。 我正在尝试从反应组件发送数据:
updateData(data)
我要发送的数据格式是一个对象:
{first:"first", second:"second"}
然后在我的 api 处理程序中:
const updateData = async (data) => {
const resource = await getResource('PUT', {
data,
});
const url = `${process.env.updateAPI}/Update`;
return handleFetch(url, resource);
};
然后在我的handleFetch函数中:
const handleFetch = async (url, resource) => {
const res = await fetch(url, resource);
if (!res.ok) {
throw new Error(`Request failed, status ${res.status}`);
}
const resData = await res.json();
return resData;
};
getResource 函数接受参数并返回所需的方法、数据和提供'Content-Type': 'application/json', 的标头并处理数据,例如:body = JSON.stringify(data);
在调试过程中,我注意到 fetchHandlers 的 res 变成了这样:
我实际上很困惑,为什么在正文中数据变为“ReadableStream”而不是我尝试发送的实际数据,或者这是我有空值的问题。任何人都可以帮助我吗?,将不胜感激。提前致谢
【问题讨论】:
-
这能回答你的问题吗? Retrieve data from a ReadableStream object?
标签: javascript reactjs api http fetch