来自反应发送不正确(空)值的 Https 请求
Posted
技术标签:
【中文标题】来自反应发送不正确(空)值的 Https 请求【英文标题】:Https request from react sending incorrect(null) values 【发布时间】: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? 【参考方案1】:如果您的数据返回类型不是 JSON 或者您不想要 JSON,则使用 text()
举个例子:
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(function(response)
return response.text();
).then(function(data)
console.log(data); // this will be a string
);
【讨论】:
返回数据类型在我的情况下是 json以上是关于来自反应发送不正确(空)值的 Https 请求的主要内容,如果未能解决你的问题,请参考以下文章