首页 > 解决方案 > 无法将数据插入到 SMS 分发的模板文字中

问题描述

我对模板文字 JS 有疑问。我从 MySQL 表中获取用户数据和 SMS 模板。

// 用户字段

let name = data.info.name; // Chingis
let start_datetime = data.info.start_datetime; // 05.07.2020 15:20
let end_time = data.info.end_time; // 16:20

// SMS 字段(文本)

// From the database
// Text: Dear ${name}! Your contract visit has been approved for ${start_datetime} - ${end_time}. We are waiting for you!
sms_template = data.sms.text; 

我的插入

$('#sms-message').text("`" + sms_template + "`");

结果没有改变: 亲爱的${name}!您的合同访问已获批准 ${start_datetime} - ${end_time}。我们正在等你!

引用:如何在模板中插入变量?

标签: javascripttemplate-literalstemplate-strings

解决方案


您必须使用eval()那里的函数将该字符串转换为模板。

所以改变这个:

$('#sms-message').text("`" + sms_template + "`");

进入这个:

$('#sms-message').text(eval("`" + sms_template + "`"));

参考:将字符串转换为模板字符串


推荐阅读