Javascript Vuejs获取组件HTML并通过ajax POST发送
我想用HTML正文发送电子邮件,但我没有访问服务器代码的权限,我只能通过ajax发送电子邮件内容。 服务器已具有用于发送电子邮件的API 我让组件Javascript Vuejs获取组件HTML并通过ajax POST发送,javascript,vue.js,Javascript,Vue.js,我想用HTML正文发送电子邮件,但我没有访问服务器代码的权限,我只能通过ajax发送电子邮件内容。 服务器已具有用于发送电子邮件的API 我让组件invoiceEmail动态呈现 sendEmail () { const mailConfig = { to : 'johndoe@example.com', subject : 'Your Invoice', // body : this.$refs.invoiceEmail.
invoiceEmail
动态呈现
sendEmail () {
const mailConfig = {
to : 'johndoe@example.com',
subject : 'Your Invoice',
// body : this.$refs.invoiceEmail.$el, // this doesn't work
// I'm getting error "converting circular structure to json"
body : '<strong style="color:red;">red bold</strong>', // this works
}
this.$api.POST('send-email', mailConfig)
.then(response => {})
.catch(error => {})
.finally(() => {})
},
}
sendmail(){
常量mailConfig={
致:'johndoe@example.com',
主题:“您的发票”,
//body:this.$refs.invoiceEmail.$el,//这不起作用
//“将循环结构转换为json”时出错
正文:“red-bold,//这很有效
}
此.api.POST('send-email',mailConfig)
。然后(响应=>{})
.catch(错误=>{})
.最后(()=>{})
},
}
如果我用HTML作为字符串填充正文
,,这应该是粗体的,
,它可以正常工作。因此,如果我能得到HTML,我相信代码会起作用
这是console.log(This.$refs.invoiceEmail.$el)
我应该使用什么来获取普通HTML而不是此。$refs.invoiceEmail。$el
?编辑:
试着像这样解析它。$refs.invoiceEmail。$el.toString()。这行不通
@Flame是正确的,
.innerHTML
将起作用。您可以这样做。$refs.yourRef.$el.innerHTML将内部HTML作为字符串返回给您
也只是对这个答案进行一点扩展:this.$refs.yourRef.$el
返回一个原始DOM对象,就像使用原始Javascript执行document.getElementById('myelement')
一样
错误消失了,但我在电子邮件中只收到[object HtmlDevice]