如何将一个Node.js Express变量传递给我的静态JavaScript文件?我试图在我的客户端js中进行提取,但为此我需要从数据库中获取2个ID。现在我通过发送带有.ejs文件的ID来欺骗这种行为。这有效,但远非正确。
<span id="user_1"><%= user.ID %></span>
<span id="user_2"><%= matchId %></span>
setInterval(function() {
let test123 = document.querySelector('.chat_history_section_inner').childElementCount;
let user_1 = document.querySelector('#user_1').innerHTML;
let user_2 = document.querySelector('#user_2').innerHTML;;
fetch('/api?s1=' + user_1 + '&r1=' + user_2 + '&s2=' + user_2 + '&r2=' + user_1, {
method: 'get'
}).then(function (response) {
return response.json()
}).then(function (res) {
if (res.length > test123) {
location.reload();
} else {
console.log('Your chat is up to date!')
}
});
}, 1000);
答案 0 :(得分:1)
您是否尝试将其直接传递给变量?
let user_1 = "<%= user.ID %>";
如果您的js文件未由EJS呈现,则必须将其从ejs呈现的文件传递到您的函数,或者将其作为自定义属性添加到您的html标记并从ID中读取属性 - 这类似于您的溶液