Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自react的Https请求发送错误(null)值_Javascript_Reactjs_Api_Http_Fetch - Fatal编程技术网

Javascript 来自react的Https请求发送错误(null)值

Javascript 来自react的Https请求发送错误(null)值,javascript,reactjs,api,http,fetch,Javascript,Reactjs,Api,Http,Fetch,我一直在尝试发出http PUT请求,以便向服务器发送数据。每次尝试发送请求时,服务器中的数据都会变为null。我已经通过发送正确格式的数据测试了服务器端代码,似乎服务器端工作正常。回到客户端代码,我注意到在获取操作期间,响应中的数据变成了“ReadableStream”。我不知道这到底是什么意思。如果可能的话,有人能帮我从下面的信息中找出错误吗。 我正在尝试从react组件发送数据: updateData(data) 我尝试发送的数据格式为对象: {first:"first&quo

我一直在尝试发出http PUT请求,以便向服务器发送数据。每次尝试发送请求时,服务器中的数据都会变为null。我已经通过发送正确格式的数据测试了服务器端代码,似乎服务器端工作正常。回到客户端代码,我注意到在获取操作期间,响应中的数据变成了“ReadableStream”。我不知道这到底是什么意思。如果可能的话,有人能帮我从下面的信息中找出错误吗。 我正在尝试从react组件发送数据:

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)

在调试期间,我注意到FetchHandler中的res如下所示:


实际上我很困惑,为什么在正文中数据会变成“ReadableStream”,而不是我试图发送的实际数据,或者这就是我有空值的问题。有人能帮我吗?非常感谢。提前感谢

如果您的数据返回类型不是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