我在一个专有系统中工作,该系统能够添加HTML和Javascript来创建自定义页面。系统能够将用户配置文件字段插入HTML / Javascript等邮件合并标签。在我正在开发的项目中,我正在使用其中一个用户字段(User_Region)中的值附加到URL,并为每个用户创建指向另一个系统的个性化链接。
我可以在值为数字(12345)时成功附加URL,但在文本或字母数字时不能。例如,“佛罗里达”和“123456a”都不起作用。
这是我正在使用的代码:
<script>
(function() {
var originalURL = "https://www.mywebsite.com/index.php";
var userRegion = {User_Region};
document.write("NewURL = " + originalURL + "?id=" + userRegion);
})();
</script>
代码{User_Region}是我用来从用户个人资料字段插入变量的邮件合并标记。如果region变量是像123456这样的数字,它可以很好地工作,它将输出这样的URl:
https://www.mywebsite.com/index.php?id=123456
但是,如果区域变量是佛罗里达或123456a等文本或字母数字,则脚本不起作用。 Document.write不输出任何内容。似乎功能要么停止要么停止。我猜这与数据类型问题有关,但我似乎无法弄明白。
如果我将变量硬编码为像这样的字符串,则该函数可以正常工作。
<script>
(function() {
var originalURL = "https://www.mywebsite.com/index.php";
var userRegion = 'Florida';
document.write("NewURL = " + originalURL + "?id=" + userRegion);
})();
</script>
以上代码将输出正确的URL,如下所示:
https://www.mywebsite.com/index.php?id=Florida
我尝试过多种方法将单引号添加到{User_Region}变量,但没有成功。
有没有人建议我如何才能做到这一点?
预先感谢您的协助!
答案 0 :(得分:0)
您是否尝试将其封装在引号中:
var userRegion = '{User_Region}';
因为我猜你的框架只是用其他东西取代{User_Region}
,如果我弄错了,请通知我。我不太明白这个tag
是什么。你可以看到,在JS中,花括号用于定义对象。