这是我的代码:
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()
的对象是可行的。
答案 0 :(得分:1)
问题在于您直接尝试对DOM元素(可能包含循环引用)进行字符串化。
您应该做的可能是这样的:
var body = JSON.stringify({
name: name.value,
contactReason: contactReason.value,
email: email.value,
additionalInfo: additionalInfo.value,
}
);
如果要发布字段的值。