Я пытаюсь попытаться сохранить данные console.log, которые я отправляю на мой сервер с помощью запроса POST.Вот код:
Front End:
onFormSubmit = (e) => {
e.preventDefault();
if (!this.state.name || !this.state.email || !this.state.message) {
this.setState(() => ({ error: 'Please fill out all the above fields!' }));
} else {
this.setState(() => ({ error: '' }));
fetch('/contact', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: this.state.name,
email: this.state.email,
message: this.state.message
})
})
.then((res) => res.json())
.then((response) => console.log('Success:', JSON.stringify(response)))
.catch((error) => console.error('Error:', error));
}
}
Back-End
app.post('/contact', (req, res) => {
console.log(req.body);
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: 'email',
from: 'email',
subject: 'New Message From Portfolio',
text: 'test',
html: '<strong>and easy to do anywhere, even with
Node.js</strong>',
};
sgMail.send(msg)
.then(() => {
console.log("email send successful");
})
})
Я использую sendGrid для отправки электронного письма.Код sendGrid выполнен успешно, так как я получаю электронное письмо.Я подумал, поместив его в JSON-форму в запросе на выборку, чтобы он был в форме, которую мог распознать мой сервер.Но моя логика в этом может быть неправильной.В файле console.log на стороне сервера я получаю "undefined".