javascript - 如何从对象数组中提取数据以在 html 电子邮件模板中呈现列表?使用 React/Formik/Sendgrid
问题描述
所以,基本上我有一个无法正确解析的表单数据。我在 listPets 变量的响应中不断收到 [object Object]。每个其他变量都正确映射。有人对我该如何解决这个问题有任何想法吗?:)
<Formik
initialValues={{
email: '',
password: '',
jobType: '',
comments: '',
cookies: [],
terms: '',
newsletter: '',
firstName: '',
pets: [{ type: '', name: '', id: '1' }]
}}
validationSchema={ LoginSchema }
onSubmit={
async data => {
await sleep(1000);
setStatus(prevStatus => ({ ...prevStatus }));
const res = await fetch('/api/send', { method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
const text = await res.text();
handleResponse(res.status, text);
}
}
>
const sgMail = require('@sendgrid/mail');
export default async function(req, res){
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const { email, comments, firstName, cookies, jobType, pets } = req.body;
const content = {
to: '',
from: email,
subject: `New Message From - ${email}`,
text: comments,
html: `
<p>Hi, ${firstName}.</p>
<p>${comments}</p>
<p>${cookies}</p>
<p>${jobType}</p>
<p>${listPets}</p>
`
};
try {
console.log('Content', content);
res.status(200).send('Message sent successfully.');
} catch (error) {
console.log('ERROR', error);
res.status(400).send('Message not sent.');
}
}
解决方案
为什么不使用 JSON.stringify(pets) 来调试发生了什么?我会发表评论,但我没有足够的声誉。
推荐阅读
- facebook - 从视频直播中获取实时评论 Facebook-live-api
- jackson - Jackson CsvMapper 只读取第一行
- optaplanner - 员工排班中的 Shift 和 ShiftTemplate 有什么区别。这两个的目的是什么,因为它们几乎相同
- reactjs - 如何使用 webpack-dev-server 设置 --max-http-header-size
- git - 如何在批处理文件中将多行命令输出转换为逗号分隔的字符串
- java - 初学者问题。无法访问主方法之外的类实例方法?
- c# - c#美元到欧元的转换总是返回0
- javascript - 如何使用 React Js 从 ApexCharts 获取 URI
- bash - Bash 按列排序 csv 与字符串末尾的数字和空格不同
- laravel - 将 Laravel 版本从 5.2.45 升级到 5.4