Javascript 将json变量传入sendgrid';s动态模板数据
我在将一个json对象传递到sendgrid的动态模板数据中时遇到了一些问题。我的设置如下所示:Javascript 将json变量传入sendgrid';s动态模板数据,javascript,json,sendgrid,Javascript,Json,Sendgrid,我在将一个json对象传递到sendgrid的动态模板数据中时遇到了一些问题。我的设置如下所示: const send = async (address, mentions) => { console.log('mentions json obj', mentions) let name = "john" try { let config = { headers: { Authorizatio
const send = async (address, mentions) => {
console.log('mentions json obj', mentions)
let name = "john"
try {
let config = {
headers: {
Authorization: `Bearer ${process.env.sendgridKey}`,
}
}
let data = {
personalizations: [
{
to: [
{
email: `${address}`,
},
],
dynamic_template_data: {
name: name,
allMentions: mentions
}
}
],
from: {
email: "johnson.tieu@gmail.com",
name: "Mentionscrawler Team"
},
template_id: process.env.template_id,
}
await axios.post("https://api.sendgrid.com/v3/mail/send", data, config)
} catch (error) {
console.error(error, 'failing here>>>>>>>')
}
}
当我使用console.log indications(json)并将从终端获得的代码直接粘贴到allindications键中时,它就可以工作了。但是,当我只是通过提及本身,没有显示在发送的电子邮件。在过去的几个小时里,我一直很困惑为什么会发生这种情况。谢谢你的建议
编辑:我还应该注意,AllReferences是一个对象,其键包含数组。所以我希望迭代这些数组。再说一次,如果我直接粘贴提到的内容,这一切都会起作用,但传递提到的内容给了我一个问题
非常感谢,刚刚意识到出了什么问题。sendgrid的模板需要一个json对象,所以我假设我需要在我提到的obj上使用json.stringify。结果证明我不需要这样做,只要所有的值都是字符串格式。刚刚意识到了问题所在。sendgrid的模板需要一个json对象,所以我假设我需要在我提到的obj上使用json.stringify。事实证明,只要所有值都是字符串格式,我就不需要这样做。如何获得
提到的?通过API调用?最初它的信息从我们的数据库中获取,然后从另一个@CodeWalkerSounds传递到此函数,就像异步问题一样。谢谢@codewalker。不过,我可以使用控制台日志查看提到的内容。这与同步代码无关吗?如何获得提及的内容?通过API调用?最初它的信息从我们的数据库中获取,然后从另一个@CodeWalkerSounds传递到此函数,就像异步问题一样。谢谢@codewalker。不过,我可以使用控制台日志查看提到的内容。这与同步代码无关吗?