我想将一个变量从Node.js传递给“flashcards”内部的JavaScript代码,尝试使用EJS来传递数组“cardNames”。
服务器端:
app.get("/apps/flashcards", (req, res) => {
res.render("flashcards", { cardNames: ["card1", "card2", "card3", "card4"] });
})
在“flashcards” EJS文件中,我有四个span元素,它们都具有相同的类(“my-cards”)。我想按如下方式更改它们的textContent:
客户端(flashcards文件):
<script>
const cardNames = <% cardNames %>
const cards = document.querySelectorAll(".my-cards");
for (let i = 0; i < cards.length; i++) {
cards[i].textContent = cardNames[i] + ", Score: 0";
}
</script>
但我遇到以下错误:
“Uncaught SyntaxError: Unexpected token 'const'”
如何从Node.js向内部或外部JavaScript文件发送数据?逻辑必须与HTML元素分开,以避免混淆。不必局限于EJS,只要能实现目标,我愿意使用其他方法。
更新:我发现两个解决方案:
第一种解决方案(使用EJS):
let cardNames = '<%= cardNames %>'
cardNames = cardNames.split(",")
第二种解决方案(如Nick Parsons在评论中建议):
使用fetch请求。