微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将数据从后端发送到前端公共 Javascript 文件

如何解决将数据从后端发送到前端公共 Javascript 文件

我想将数据从后端发送到前端公共 javascript 文件。我知道使用 ejs,但我有一个专用的 javascript 文件,我想将数据发送到该文件

这是我的后端 nodejs 代码

router.get('/',isAuth,function (req,res) {
User.find({ id: req.user[0].id }).populate("tweets").populate("tags").exec(function (err,user) {
    res.render("dashboard",{user: user});
    // res.send(user);
});
});

这是我在 body 标记结束前从dashboard.ejs 调用脚本文件的方式:

<script src="/dashboard/scripts/script.js"></script>

这是我想要存储从后端发送的数据的地方。

const ext = data_from_backend

我一直在尝试很多,但无法找到解决方案。

解决方法

您可以尝试将对象转换为字符串,然后将其传递给脚本标记。 然后您可以解析该字符串,将其转换为和对象,然后将其存储为全局变量。 其他脚本标签应该能够访问全局变量。

将您的节点 js 文件更改为:

res.render("dashboard",{user: JSON.stringify(user)});

在您的 .ejs 文件中,在您的 <script src="/dashboard/scripts/script.js"></script> 之前添加一个脚本标记:

<script>
    const str = "<%= name %>";
    const obj = str.replace(/&#34;/gi,'\'');
</script>

现在你可以在其他脚本标签中使用 obj

<script>alert(obj);</script>
,

所以,我解决了问题的核心,但也从这里的答案中获得了帮助。这是我所做的。我首先使用 JSON.stringfy() 将对象转换为字符串,然后将其发送到前端脚本,然后使用 JSON.parse() 再次将其转换。但是,由于嵌入代码中的“/”(斜杠),我收到了 JSON code 'T' 错误,因此我不得不将嵌入代码更改为前端脚本中处理的其他内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?