TypeError:React 中的循环对象值

IT技术 javascript reactjs
2021-05-09 07:36:37

这是我的代码:

sendMail(e) {
    e.preventDefault();
    // fetch('/https://uczsieapp-mailer.herokuapp.com/', {
    var name = document.getElementById('name');
    var contactReason = document.getElementById('contactReason');
    var email = document.getElementById('email');
    var additionalInfo = document.getElementById('additionalInfo');
    var body = JSON.stringify({
            name: name,
            contactReason: contactReason,
            email: email,
            additionalInfo: additionalInfo,
        }
    );
    console.log(body);
    fetch('http://localhost:4000/', {
        method: 'POST',
        body: JSON.stringify({
                name: name,
                contactReason: contactReason,
                email: email,
                additionalInfo: additionalInfo,
            }
        )
    });
}

代码引用了这个 HTML:

<form>
    <input className="form_input input_margin" type="text" id='name' name="name"
           placeholder="Imię"/>
    <input className="form_input_2" type="text" name="email" id='email'
           placeholder="Adres e-mail"/>
    <textarea name='additionalInfo' id='additionalInfo' className="form_textarea"
              type="text" placeholder="Dodatkowe informacje"/>
    <button onClick={this.sendMail} className="btn button_send">Wyślij</button>
</form>

所以我的理解是它引用了一些东西,它正在被改变,但是有人怎么知道这个错误到底在哪里,为什么?

我在JSON.stringify()方法上收到此错误创建一个没有stringify()作品的对象

1个回答

问题在于您直接尝试对 DOM 元素(可能包含循环引用)进行字符串化。

你应该做的,大概是这样的:

 var body = JSON.stringify({
        name: name.value,
        contactReason: contactReason.value,
        email: email.value,
        additionalInfo: additionalInfo.value,
    }
 );

如果要发布字段的值。