【问题标题】:Unhandled Rejection (TypeError): Converting circular structure to JSON IN REACT FETCH未处理的拒绝(TypeError):在 REACT FETCH 中将循环结构转换为 JSON
【发布时间】:2021-11-03 14:37:33
【问题描述】:

我在下面使用这个提交函数,试图将我的内容扔到一个变量体中并通过获取我的 api 来发送它,但是它返回了图像中的以下错误。 注意:我使用 useEffect 加载数据。

const handleSubmit = async values => {
        let body = {
            ...values,
        }
        setSubmitted(true);
        //SAVE
        const response = await fetch(config.baseURL + '/bot-api/data/model/1/', {
            method: "POST",
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify(body),
        }).then(res => res.json());
        window.alert(response.message);
        window.alert(JSON.stringify(body));
    }

我收到以下错误:

【问题讨论】:

  • 显示包含useEffect的完整代码
  • 您的values 中有什么内容?循环引用在该对象的某处。
  • 基本上是说您的values 对象具有循环引用,并且还包含HTMLButtonElement 对象。您可能向此函数发送了错误的对象

标签: javascript node.js reactjs json string-formatting


【解决方案1】:

问题是您的对象正在引用自身,因此无法转换为 JSON

考虑以下情况:

a = { x:'一些价值' }; a.b = a;

字符串表示看起来像这样:

'{
  "x":"Some value",
  "b": '{
    "x":"Some value",
    "b":...
  }'
}'

这将永远持续下去,因此您无法对对象进行字符串化。

您似乎还想对 HTML 按钮元素进行字符串化。这也是不可能的。

【讨论】:

    猜你喜欢
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 2018-10-05
    • 2016-01-22
    相关资源
    最近更新 更多