TypeError:React中的循环对象值

时间:2018-06-21 09:51:52

标签: javascript reactjs

这是我的代码:

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 个答案:

答案 0 :(得分:1)

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

您应该做的可能是这样的:

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

如果要发布字段的值。